2016-12-28 53 views
1

我有一個顯示初始狀態的下拉菜單:無。我正在使用toggleClass事件來添加一個帶有display:block的類,這樣當點擊該按鈕時,下拉菜單就會出現並消失。爲什麼我的toggleClass事件會添加該類,但不會在隨後的點擊中將其刪除?

toggleClass用於添加類,但當再次單擊該按鈕時,它不會刪除該類。當我在瀏覽器中查看「檢查元素」工具時,可以看到正在添加的類爲「活動」,但在隨後的點擊中,「活動」仍保留在div上。這些類仍然閃爍,好像它正在識別它應該點擊某個事物,但不會刪除「活動」類。

相關代碼如下。你不應該需要CSS,因爲jQuery是什麼不工作,但我已經包括它作爲參考。

<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"); 

}); 
+1

看起來對我很好:https://jsfiddle.net/adbd2e6u/ –

回答

1

它確實 - 見下文。但我從您的描述中懷疑您多次附加了事件處理程序click。在某一時刻,他們甚至還有一些人正在射擊 - 這會移除課堂並將課堂添加回去。附有click事件處理程序的代碼位於何處?

$('#button-services').click(function() { 
 
    $('#dropdown-services').toggleClass("active"); 
 
    return false; 
 
});
.dropdown-content 
 
{ 
 
    display: none; 
 
} 
 

 
.active 
 
{ 
 
    display: block; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<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>

0

如果返回錯誤後點擊我的作品 如果回國後點擊我的作品 $(「#鍵服務」)假。點擊(函數() {('#dropdown-services')。toggleClass(「active」); return false; });

相關問題