2013-08-27 3 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'); 
    } 
    });