14

Currently I have a class with transform value rotate(57deg), when alert

$(".div-1").css("transform") it is giving matrix value.

<style> 
 .div-1{
     transform: rotate(57deg);
     }                 
</style>   
<div class="div-1">Test</div>

I need to add scale(-1, 1) to the existing transform value using Jquery

. so .div-1 transform value become div-1 { transform: scale(-1, 1) rotate(57deg); } How to do this ? Here 57 is just a number , it will change always. so what I need is add scale( -1 , 1) to the current transform value . Please help .

Jafar tm
  • 247
  • 2
  • 11

3 Answers3

6

you can do something like this :

var css = $('.div-1').css("transform");
css = css+" scale(-1,1)";
$('.div-1').css('transform',css);
Aman Goyal
  • 99
  • 10
  • Yes this is working . I never thought it is this much simple . When seeing matrix value , i didn't try any thing & i just asked without trying . Thank you friend . – Jafar tm Dec 30 '16 at 08:23
1
<style>
    div {
        -ms-transform: rotate(57deg); // IE 9  
        -webkit-transform: rotate(57deg); // Chrome, Safari, Opera  
        transform: rotate(57deg);
    }
</style>
codePG
  • 1,754
  • 1
  • 12
  • 19
Ramya Roy
  • 229
  • 4
  • 10
-1

ALternate solution is to create two classes as

<style> 
 .div-1{
     transform: rotate(57deg);
     }    
  .div-2{
     transform: scale(-1, 1) rotate(57deg);
     }             
</style>   
<div class="div-1">Test</div>

then in jquery do the following :

if(condition == true){
$(".div-1").addClass("div-1");
$(".div-1").removeClass("div-2");
} else {
$(".div-1").addClass("div-2");
$(".div-1").removeClass("div-1");
}
Rahul
  • 2,374
  • 2
  • 9
  • 17
  • 4
    This is not correct answer friend . Because here one time either i get scale effect or i get rotate effect . But i need both at a time as i explained .div-1 { transform: scale(-1, 1) rotate(57deg); } – Jafar tm Dec 28 '16 at 06:27
  • once the class div-2 will be applies you will get both effect , what is the issue – Rahul Dec 28 '16 at 06:31