32

This function adds a rotated class to my button when I click it. The button has an arrow on it which points in the direction the panel has slid.

How could I remove the rotated class when I click the button again?

$("#btnDiv").click(function (){
     $('#slidePanel').toggle( "slide",{direction: 'right'});
     $('#btnDiv').addClass('rotated');
});

Something like this maybe?

if('rotated'){
    removeClass('rotated')
}else{
    addClass('rotated')
}
thatOneGuy
  • 9,252
  • 6
  • 42
  • 84
Daft
  • 9,340
  • 14
  • 57
  • 96

6 Answers6

60

You can use .toggleClass()

$('#btnDiv').toggleClass('rotated');

That adds it if it's missing, and removes it if it's present. There's also .is() to check for things like that:

if ($('#btnDiv').is('.rotated'))

or more simply:

if ($('#btnDiv').hasClass('rotated'))
Pointy
  • 389,373
  • 58
  • 564
  • 602
12

Try this

if($('#btnDiv').hasClass('rotated')){
   $('#btnDiv').removeClass('rotated')
}else{
  $('#btnDiv').addClass('rotated')
}
Satpal
  • 129,808
  • 12
  • 152
  • 166
1

Just use .toggleClass() to acheive that.

majorhavoc
  • 2,265
  • 1
  • 23
  • 25
1
if($('#btnDiv').hasClass('rotated')){
   $('#btnDiv').removeClass('rotated')
}else{
   $('#btnDiv').addClass('rotated')
}
Khalid Dabjan
  • 2,547
  • 2
  • 23
  • 34
1
$("#btnDiv").click(function (){
    $('#slidePanel').toggle( "slide",{direction: 'right'});
    if($('#btnDiv').hasClass('rotated')){
          $('#btnDiv').removeClass('rotated');
    }
    else{
         $('#btnDiv').addClass('rotated');
    }
  });
Aboca
  • 555
  • 2
  • 9
0

you can you simple swith the class on click


$('.myclassname').on('click', function(){
    $('.myclass h2').toggleClass( 'first_class', 'second_class');
}); 
Mr Coder
  • 467
  • 3
  • 13