Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.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
Javascript 单击任意位置关闭汉堡包菜单_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 单击任意位置关闭汉堡包菜单

Javascript 单击任意位置关闭汉堡包菜单,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我已经看到这个问题已经被回答了很多次,我无法让它对我起作用。 我想把一个汉堡包菜单放在我的网站上,当在页面上点击菜单以外的任何地方时,它就会关闭。 我使用的JQuery是: $(document).ready(function() { $(".cross").hide(); $(".menu").hide(); $(".hamburger").click(function() { $(".menu").slideToggle("slow", functio

我已经看到这个问题已经被回答了很多次,我无法让它对我起作用。 我想把一个汉堡包菜单放在我的网站上,当在页面上点击菜单以外的任何地方时,它就会关闭。 我使用的JQuery是:

$(document).ready(function() {
    $(".cross").hide();
    $(".menu").hide();
    $(".hamburger").click(function() {
        $(".menu").slideToggle("slow", function() {
            $(".hamburger").hide();
            $(".cross").show();
        });
    });

    $(".cross").click(function() {
        $(".menu").slideToggle("slow", function() {
            $(".cross").hide();
            $(".hamburger").show();
        });
    });

});
我非常感谢关于如何添加关闭函数的建议。 谢谢 肖恩。

使用聚焦输出

$'p'.focusoutfunction{
$'myDiv.hide;}

您可以使用此函数

// when click on window
function actionwindowclick(elem , action){
    $(window).on('click',function(e){
        if (!$(elem).is(e.target) // if the target of the click isn't the container...
            && $(elem).has(e.target).length === 0) // ... nor a descendant of the container
        {
            action();
        }
    });
}
actionwindowclick('.cross , .hamburger', function(){
    $(".hamburger").hide();
});
然后使用这个函数

// when click on window
function actionwindowclick(elem , action){
    $(window).on('click',function(e){
        if (!$(elem).is(e.target) // if the target of the click isn't the container...
            && $(elem).has(e.target).length === 0) // ... nor a descendant of the container
        {
            action();
        }
    });
}
actionwindowclick('.cross , .hamburger', function(){
    $(".hamburger").hide();
});
样品

$document.readyfunction{ $.cross.clickfunction{ 美元,"汉堡包"节目;; }; //在这里运行函数 actionwindowclick'.cross、.hamburger',函数{ 美元.汉堡包.皮; }; }; //当点击窗口时 功能操作窗口单击元素、操作{ $window.单击,函数E{ if!$elem.ise.target//如果单击的目标不是容器。。。 &&$elem.hase.target.length==0/…或容器的后代 { 行动 } }; } .汉堡包{ 显示:无; } 交叉分区 汉堡部
$:not.cross.clickfunction{$.menu.hide;};你能向作者解释一下这是怎么回事吗?代码转储是一种糟糕的做法