2013-08-27 4 views
20

このボタンをクリックすると、ボタンにrotatedクラスが追加されます。ボタンには、パネルがスライドした方向を指す矢印があります。存在する場合はremoveClass()

ボタンを再度クリックしたときに回転したクラスを削除するにはどうすればよいですか?

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

このようなものがありますか?

if('rotated'){ 
    removeClass('rotated') 
}else{ 
    addClass('rotated') 
} 

答えて

45

あなたはそれが存在だ場合、それを、それが欠けている場合は、それを追加し、削除し.toggleClass()

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

を使用することができます。 .is()はそのようなことを確認するためにもあります:

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

以上:

if ($('#btnDiv').hasClass('rotated')) 
+2

をお試しください...そしてあなたはクラスが設定されているかどうかを確認する必要がある場合: 'hasClass()':http://api.jquery.com/ hasClass/ – gvee

+0

優れています!どのような迅速な修正!乾杯! – Daft

+0

@ Virus721あなたがしたいことがクラスを追加することだけを確認する必要はありません。 '.addClass()'は二度追加しません。 – Pointy

1

ちょうどそれをacheiveする.toggleClass()を使用しています。

5

この

if($('#btnDiv').hasClass('rotated')){ 
    $('#btnDiv').removeClass('rotated') 
}else{ 
    $('#btnDiv').addClass('rotated') 
} 
1
if($('#btnDiv').hasClass('rotated')){ 
    $('#btnDiv').removeClass('rotated') 
}else{ 
    $('#btnDiv').addClass('rotated') 
} 
1
$("#btnDiv").click(function(){ 
    $('#slidePanel').toggle("slide",{direction: 'right'}); 
    if($('#btnDiv').hasClass('rotated')){ 
      $('#btnDiv').removeClass('rotated'); 
    } 
    else{ 
     $('#btnDiv').addClass('rotated'); 
    } 
    }); 
関連する問題