Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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 Jquery-.on(“自动关闭”)_Javascript_Jquery_Html - Fatal编程技术网

Javascript Jquery-.on(“自动关闭”)

Javascript Jquery-.on(“自动关闭”),javascript,jquery,html,Javascript,Jquery,Html,我有这段代码,如果页面标题可见并且单击了下拉菜单按钮,它将隐藏页面标题 $('.site-overlay-toggle .btn').on("click", function(){ if ( $(".page-title").is(':visible') ) { $( ".page-title" ).hide(); } else { $( ".page-title" ).show(); } }); 只要下拉菜单手动单击打开并单击关闭

我有这段代码,如果页面标题可见并且单击了下拉菜单按钮,它将隐藏页面标题

$('.site-overlay-toggle .btn').on("click", function(){

    if ( $(".page-title").is(':visible') ) {
       $( ".page-title" ).hide();
    } else {
       $( ".page-title" ).show();   
    }

});
只要下拉菜单手动单击打开并单击关闭,此操作就有效。如果单击同一页面菜单中的锚定链接,该页面将向下滚动到正确的部分,下拉菜单将自动关闭。但是,这不会触发此代码


有没有办法检测菜单是否自动关闭?

您可以使用jQuery
$('.site overlay toggle.btn')。在锚定事件中触发('click')

您可以在锚事件中使用jQuery
$('.site overlay toggle.btn')。trigger('click')

如果你有这样的菜单

<button type="btn btn-navbar" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".nav-collapse" aria-expanded="false"> <span class="icon-bar"></span>
<button type="btn btn-navbar" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse" aria-expanded="true"> <span class="icon-bar"></span>

这是当菜单关闭时代码的运行方式

但若菜单是打开的,则代码如下所示

<button type="btn btn-navbar" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".nav-collapse" aria-expanded="false"> <span class="icon-bar"></span>
<button type="btn btn-navbar" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse" aria-expanded="true"> <span class="icon-bar"></span>

所以,如果菜单关闭,您可以使用function.is(“折叠”)或.hasClass(“折叠”)来获取true,如果菜单未关闭,则使用flase,或者您可以获取展开的atribude aria状态


如果你有这样的菜单

<button type="btn btn-navbar" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".nav-collapse" aria-expanded="false"> <span class="icon-bar"></span>
<button type="btn btn-navbar" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse" aria-expanded="true"> <span class="icon-bar"></span>

这是当菜单关闭时代码的运行方式

但若菜单是打开的,则代码如下所示

<button type="btn btn-navbar" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".nav-collapse" aria-expanded="false"> <span class="icon-bar"></span>
<button type="btn btn-navbar" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse" aria-expanded="true"> <span class="icon-bar"></span>

所以,如果菜单关闭,您可以使用function.is(“折叠”)或.hasClass(“折叠”)来获取true,如果菜单未关闭,则使用flase,或者您可以获取展开的atribude aria状态