나는 display : none의 초기 상태를 가진 드롭 다운 메뉴를 가지고있다. toggleClass 이벤트를 사용하여 display : block 클래스를 추가하므로 버튼을 클릭하면 드롭 다운 메뉴가 나타나고 사라집니다.내 toggleClass 이벤트가 클래스를 추가하지만 이후의 클릭에서 제거되지 않는 이유는 무엇입니까?
toggleClass는 클래스를 추가하기 위해 작동하지만 버튼을 다시 클릭 할 때 클래스를 제거하지 않습니다. 브라우저의 'inspect 요소'도구를 보면 "활성"클래스가 추가되는 것을 볼 수 있지만 후속 클릭에서는 "활성"변수가 div에 남아 있습니다. 클래스는 여전히 클릭으로 무언가를해야한다는 것을 인식하고있는 것처럼 플래시되지만 "활성"클래스는 제거하지 않습니다.
관련 코드는 다음과 같습니다. jquery가 작동하지 않기 때문에 CSS가 필요하지 않지만 참조 용으로 포함되었습니다.
<div class="dropdown">
<a class="dropbtn" id="button-services"><h4 class="button-arrow down-arrow">Service</h4></a>
<div class="dropdown-content" id="dropdown-services">
<a href="ourwork-advertising.php">Advertising</a>
<a href="ourwork-environmental.php">Environmental</a>
<a href="ourwork-interactive.php">Interactive</a>
<a href="ourwork-logos.php">Logo</a>
<a href="ourwork-packaging.php">Packaging</a>
<a href="ourwork-print.php">Print</a>
</div>
</div>
.dropdown-content {
display: none; }
.active{
display: block; }
$('#button-services').click(function() {
$('#dropdown-services').toggleClass("active");
});
나에게 잘 어울리는 제품 : https://jsfiddle.net/adbd2e6u/ –