我正在努力与此JavaScript此刻。Javascript onclick下拉菜单
$(document).ready(function() {
var visible = false;
var body = false;
$("body").mouseup(function() {
if (visible) {
$(this).parent().find("ul.subnav").slideUp('slow');
visible = false;
$(this).removeClass("clicked-background");
body = true;
}
});
$("ul.topnav li a").click(function() { //When trigger is clicked...
var menu = $(this).parent().find('ul.subnav');
if (!visible && !body) {
$(this).parent().find("ul.subnav").slideDown('fast').show();
visible = true;
$(this).addClass("clicked-background");
}
// else if (visible)
//{
// $(this).parent().find("ul.subnav").slideUp('slow');
// visible = false;
// $(this).removeClass("clicked-background");
// }
body = false;
});
});
我想添加该功能,所以如果您在菜单/导航栏外单击,下拉框将隐藏。 这个代码目前的问题是,如果你点击菜单,然后在菜单外单击 - 你必须再次双击菜单才能让它显示出来。这是由于body变量设置为'True'ofc。
如果您点击菜单,然后再次单击相同的链接,我使身体变量试图解决问题。菜单将首先正确打开,然后关闭并再次打开。 Soo的主要问题是。我的导航打开 - >关闭 - >打开
PLZ上jsfiddle.net添加的jsfiddle – sakhunzai 2012-04-13 20:01:44