簡體   English   中英

jQuery click事件在切換側欄時僅工作一次

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM