jquery 单击div时添加类

2vuwiymt  于 2022-12-03  发布在  jQuery
关注(0)|答案(2)|浏览(195)

我正在尝试制作一个导航菜单的侧边栏,当我单击div时,它会展开/折叠。

$(document).ready(function() {     
$('.btn-nav').click(function(){     
    $('.sidebar').addClass('expand');    
},     
function(){    
    $('.sidebar').removeClass('collapse');     
});
});

当我把点击功能替换成悬停功能时,它工作得很好。但是现在它不工作了。有人知道我做错了什么吗?

4nkexdtk

4nkexdtk1#

您需要执行以下操作:

$(document).ready(function () {
    $('.btn-nav').click(function () {
        $('.sidebar').toggleClass('expand').toggleClass('collapse');
    });
});

如果你看一下click() API Documentation,你会发现它只接受一个函数,而hover()接受一个或两个处理函数,当鼠标指针进入和离开元素时执行。

2o7dmzc5

2o7dmzc52#

Click事件没有参数。您可以使用下面的代码,

$(document).ready(function() {
    var testMethod = function(event){
        if(event.data.flg == 0){
             $('.sidebar').addClass('expand');
             event.data.flg=1;
        }
        else {
            $('.sidebar').removeClass('collapse'); 
            event.data.flg=0;
        }
    };

    $('.btn-nav').on('click', {flg: 0}, testMethod);
});

相关问题