Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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 通过单击链接打开/隐藏已打开的div_Javascript_Jquery_Css - Fatal编程技术网

Javascript 通过单击链接打开/隐藏已打开的div

Javascript 通过单击链接打开/隐藏已打开的div,javascript,jquery,css,Javascript,Jquery,Css,我制作了一个导航,当您单击.products链接时打开,当您单击屏幕上的任何位置时关闭。但是,如果您在.product链接已打开时单击它,它似乎不会关闭。我该怎么做 $('#subnav').hide(); $(document).on('click', function(e) { if ( $(e.target).closest('.products').length ) { $("#subnav").show(); }else if ( ! $(e.targ

我制作了一个导航,当您单击.products链接时打开,当您单击屏幕上的任何位置时关闭。但是,如果您在.product链接已打开时单击它,它似乎不会关闭。我该怎么做

$('#subnav').hide();

$(document).on('click', function(e) {
    if ( $(e.target).closest('.products').length ) {
        $("#subnav").show();
    }else if ( ! $(e.target).closest('#subnav').length ) {
        $('#subnav').hide();
    }
});
小提琴:

小提琴:


在文档上需要单击事件来隐藏块,在按钮上需要单击事件来显示块。在出现按钮的情况下,您需要停止文档事件的传播

就像这样:

$("div").hide();

$("button").bind("click",function(e){        
    e.stopPropagation();    
    $("div").toggle(200);
});

$(document).bind("click",function(){
    $("div").hide(200);
});
<div></div>
<button>open</button>
假设您的代码如下所示:

$("div").hide();

$("button").bind("click",function(e){        
    e.stopPropagation();    
    $("div").toggle(200);
});

$(document).bind("click",function(){
    $("div").hide(200);
});
<div></div>
<button>open</button>

在文档上需要单击事件来隐藏块,在按钮上需要单击事件来显示块。在出现按钮的情况下,您需要停止文档事件的传播

就像这样:

$("div").hide();

$("button").bind("click",function(e){        
    e.stopPropagation();    
    $("div").toggle(200);
});

$(document).bind("click",function(){
    $("div").hide(200);
});
<div></div>
<button>open</button>
假设您的代码如下所示:

$("div").hide();

$("button").bind("click",function(e){        
    e.stopPropagation();    
    $("div").toggle(200);
});

$(document).bind("click",function(){
    $("div").hide(200);
});
<div></div>
<button>open</button>

js

js


你能把你的密码也发出来吗。最好的方式显示使用你可以张贴你的代码了。使用它显示的最佳方式,因为当用户在任何地方单击时,
subnav
do切换!!这不是所要求的。如果您单击其他位置,则该块应关闭,因为当用户单击所有位置时,
subnav
do切换!!这不是所要求的。如果单击,该块应关闭elsewhere@MaryMelody抱歉,有点小错误,我已经更新了链接如果我们点击div,它会被隐藏,我想你需要应用
.stopPropagation()
on div click以及它获得的文档单击功能。@4dgaurav问题中没有明确提出这一点,但这确实对用户体验更有意义是的。。顺便说一句,我喜欢在你的答案中绑定点击。@MaryMelody抱歉,有点小错误,我已经更新了链接如果我们点击div,它会被隐藏,我想你需要应用
.stopPropagation()
on div click以及它获得的文档单击功能。@4dgaurav问题中没有明确提出这一点,但这确实对用户体验更有意义是的。。顺便说一句,我喜欢在你的答案中绑定点击。