我下面的代码似乎不起作用。
$("ul li a").live("click", function() {
$(".myMegaMenuDiv").addClass('hideit').delay(300).removeClass('hideit');
});
我有一个大型菜单,因此当您将鼠标悬停在菜单项上时,它将显示一个div“ .myMegaMenuDiv”。但是,当我单击该div中的链接时,我希望它消失,因为当前没有。我希望上面的代码能解决这个问题。
“ hideit”添加值“ display:none”
当我只有“ addClass”时,它可以工作,但是当我添加“ delay”和“ removeClass”时,它将停止工作。
编辑:另外...在我隐藏“ .myMegaMenuDiv”后,当我将鼠标悬停在导航菜单项上时,菜单不会显示,因此也需要删除该类
最佳答案
如果只想在单击时隐藏div,则可以使用hide
函数。另外,不建议使用live
函数,因此最好使用on
。
$("ul li a").on("click", function() {
$(".myMegaMenuDiv").hide();
});
如果要隐藏和显示,可以使用setTimeout:
$("ul li a").on("click", function() {
$(".myMegaMenuDiv").hide();
setTimeout(function() {
$(".myMegaMenuDiv").show();
}, 300);
});