2014-02-20 2 views
1

모바일 탐색 버튼의 목적을 위해 링크를 클릭하여 (표시 메뉴) 활성 클래스를 추가 한 다음 다시 같은 링크 (축소 메뉴)를 클릭하면 해당 클래스가 제거됩니다.단일 링크에서 클래스를 전환 하시겠습니까?

$(function() { 
    $(".nav-mobile").click(function() { 
     $(".nav-mobile").removeClass("active"); 
     $(this).addClass("active"); 
    }); 
}); 

클릭하면 활성 클래스가 추가되지만 다시 클릭하면 제거되지 않습니다.

제거가 가능합니까?

+1

의미 스크립트 것 같다보십시오. 클래스를 삭제하고 다시 추가하십시오! –

+0

링크가 메뉴를 엽니 다. 클래스가 해당 색상을 변경하여 열려 있음을 나타 내기 원합니다. 그런 다음 다시 클릭하면 해당 색상이 닫히고 따라서 열리지 않습니다. – user4630

+0

제거한 후에 코드를 다시 추가합니다. – timo

답변

2

jQuery에서 toggleClass() 함수를 사용할 수 있습니다. 그것은 당신이 원하는 것을 정확히 수행합니다.

확인 API를 문서 : https://api.jquery.com/toggleClass/

+0

감사합니다. 이것은 완벽하게 작동했습니다. 이전에 토글을 시도했는데 성공하지 못했습니다. – user4630

+0

당신을 진심으로 환영합니다. –

1

사용하는 대신이 코드 :

$(function() { 
    $(".nav-mobile").click(function() { 
     $(".nav-mobile").not(this).removeClass("active"); 
     $(this).toggleClass("active"); 
    }); 
}); 
0

$(function() { 
    $(".nav-mobile").click(function() { 
     var $this = $(this); 
     if($this.hasClass('active')) { 
      $this.removeClass('active'); 
     } else { 
      $(".nav-mobile").removeClass("active"); 
      $this.addClass("active"); 
     } 
    }); 
}); 
관련 문제