Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery切换,当新菜单打开时,关闭_Jquery_Menu_Toggle - Fatal编程技术网

jQuery切换,当新菜单打开时,关闭

jQuery切换,当新菜单打开时,关闭,jquery,menu,toggle,Jquery,Menu,Toggle,我有多个隐藏了可见性的菜单(表单),我用图标上的clickevent打开它们。这一切都很好,除了当我打开另一个菜单时,前一个菜单仍然打开,它们都保持可见。因此,我希望fomer菜单在打开新菜单时隐藏 HTML S W jQuery $(".settingsIcon").click(function(event) { event.stopPropagation(); if($(document).find(".settingForms").is(':visible') <

我有多个隐藏了可见性的菜单(表单),我用图标上的clickevent打开它们。这一切都很好,除了当我打开另一个菜单时,前一个菜单仍然打开,它们都保持可见。因此,我希望fomer菜单在打开新菜单时隐藏

HTML

S
W
jQuery

$(".settingsIcon").click(function(event) {
    event.stopPropagation();

    if($(document).find(".settingForms").is(':visible') < 1) {
        HandleSettingsWindow($($(this).children()[0]));
    } else {
    }
});

HandleSettingsWindow = function (el) {
    $(document).click(function () { // Close the menu when clicked outside it
        el.hide();
        document.oncontextmenu = function () { return true; };
    });
    el.toggle();
}
$(“.settingsIcon”)。单击(函数(事件){
event.stopPropagation();
if($(document.find(“.settingForms”).is(':visible')<1){
HandleSettingsWindow($($(this.children()[0]);
}否则{
}
});
HandleSettingsWindow=功能(el){
$(文档)。单击(函数(){//在菜单外部单击时关闭菜单
el.hide();
document.oncontextmenu=函数(){return true;};
});
el.toggle();
}
请尝试以下方法:

注意
如果($(文档).find(“.settingForms”).is(':visible'))

希望rest能满足您的需要
:)

代码

$(".settingsIcon").click(function(event) {
    event.stopPropagation();

    if($(document).find(".settingForms").is(':visible')) {
        HandleSettingsWindow($($(this).children()[0]));
    } else {

    }
});

HandleSettingsWindow = function (el) {
    $(document).click(function () { // Close the menu when clicked outside it
        el.hide();
        document.oncontextmenu = function () { return true; };
    });
    el.toggle();
}​

问题在于这条线

if($(document).find(".settingForms").is(':visible') < 1)

不过,我并没有真正了解你下一步该做什么,这正是我正在努力解决的问题。如果页面上有任何可见菜单,我想在打开新菜单时关闭它们。
if($(document).find(".settingForms").is(':visible') < 1)
if($(document).find(".settingForms").is(':visible'))