[英]jQuery click event works only once while toggling the sidebar
我正在嘗試切換側邊欄,但是它只能工作一次。 我認為查詢代碼是不言自明的。 雖然我可以根據需要編寫HTML代碼。
$('.side-menu').on('click', function(){
$('.control-sidebar').addClass('active-sidebar');
$('.side-menu').on('click', function(){
$('.control-sidebar').removeClass('active-sidebar');
});
});
干凈的代碼解決方案看起來像這樣:
$('.side-menu').on('click', function(){
$('.control-sidebar').toggleClass('active-sidebar');
});
我認為您的情況邏輯不正確。
if(!$('.control-sidebar').hasClass('active-sidebar')){...}
當類“ control-sidebar”沒有類“ active-sidebar”時,此代碼將運行。
在一開始,這種情況就發生了,因此您可以單擊.side-menu並將類“ active-sidebar”添加到DOM。 這違反了您的第一個邏輯。
此外,為什么這在您的代碼中發生兩次?
$('.side-menu').on('click', function(){...}
解決方案:使用切換類:請參閱此https://jsfiddle.net/BeklievParviz/rwnpk0wm/
$('.side-menu').on('click', function(){
$('.control-sidebar').toggleClass('active-sidebar');
});
用戶此
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.