我现在有一个非常简单的jquery函数,如果按下菜单,就会显示菜单。
$(".menu").on("click", function( event ){
$(".menulist").css("display","block");
alert(event);
})
如果再次单击“菜单”按钮或单击“关闭”菜单,我希望再次显示“不显示”。
我尝试了下面的off函数,但后来意识到它无论如何都不会起作用:
$(".menu").off("click", function(){
$(".menulist").css("display","none");
})
对如何做这件事有什么建议吗?如果这对移动网站也有帮助的话
编辑:事件在第一个函数中,因为我认为我可以使用这个事件来判断项目是否已经显示。不过,不管是哪种情况,我会更好地使用(“单击”函数()来检查.menu显示的css值是否等于块或无,然后从那里更改css?)这将解决单击菜单按钮的问题,但不会取消菜单。
发布于 2013-08-12 13:29:40
使用$(".menu").on("click", function(){ $('.menulist').toggle() });
切换菜单列表的可见性。
更新
若要在单击off
菜单元素时关闭菜单,只需捕获body标记上的单击事件,并关闭打开的菜单:
整个片段看起来如下所示:
$('.menu').on('click', function(){
$('.menulist').toggle();
});
$('body').on('click', function(e){
if(!$(e.target).hasClass('.menu') && $('.menulist').is(':visible')) {
$('.menulist').hide();
}
});
发布于 2013-08-12 13:29:36
$(".menu").on("click", function( event ){
$(".menulist").toggle();
})
发布于 2013-08-12 13:28:28
尝试使用toggle
方法的jQuery:
$(".menu").on("click", function() {
$(".menulist").toggle();
});
https://stackoverflow.com/questions/18188202
复制相似问题