Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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 - Fatal编程技术网

Javascript 网站菜单没有’;当我点击一个锚时,它不会消失

Javascript 网站菜单没有’;当我点击一个锚时,它不会消失,javascript,Javascript,对不起,我的英语。。。 我有一个基于Wordpress的单页网站。 我在我的页面上放置了一些锚,但在桌面版本中,当我点击一个相对于这些锚的链接(或普通链接)后,菜单关闭。 当我在一个小屏幕上时,菜单在点击一个锚后不会关闭(使用一个正常的链接id),页面只会转到锚,但由于菜单的原因而保持不可见。 我看了这个主题:但我不知道如何修改文件来修复它。 这是我的菜单的代码: /** * navigation.js * * Handles toggling the navigation menu fo

对不起,我的英语。。。 我有一个基于Wordpress的单页网站。 我在我的页面上放置了一些锚,但在桌面版本中,当我点击一个相对于这些锚的链接(或普通链接)后,菜单关闭。 当我在一个小屏幕上时,菜单在点击一个锚后不会关闭(使用一个正常的链接id),页面只会转到锚,但由于菜单的原因而保持不可见。 我看了这个主题:但我不知道如何修改文件来修复它。 这是我的菜单的代码:

/**
 * navigation.js
 *
 * Handles toggling the navigation menu for small screens.
 */
( function() {
    var container, button, menu;

    container = document.getElementById( 'site-navigation' );
    if ( ! container ) {
        return;
    }

    button = container.getElementsByTagName( 'button' )[0];
    if ( 'undefined' === typeof button ) {
        return;
    }

    menu = container.getElementsByTagName( 'ul' )[0];

    // Hide menu toggle button if menu is empty and return early.
    if ( 'undefined' === typeof menu ) {
        button.style.display = 'none';
        return;
    }

    menu.setAttribute( 'aria-expanded', 'false' );

    if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
        menu.className += ' nav-menu';
    }

    button.onclick = function() {
        if ( -1 !== container.className.indexOf( 'toggled' ) ) {
            container.className = container.className.replace( ' toggled', '' );
            button.setAttribute( 'aria-expanded', 'false' );
            menu.setAttribute( 'aria-expanded', 'false' );
        } else {
            container.className += ' toggled';
            button.setAttribute( 'aria-expanded', 'true' );
            menu.setAttribute( 'aria-expanded', 'true' );
        }
    };
} )();
您能告诉我如何修改此代码,以便在单击锚后自动关闭它吗?我想“area expanded”的值定义了菜单的状态


感谢您的帮助

您能为我们展示页面的HTML吗?据我所知,您的JS中没有提到锚元素,因此我们可能需要更多信息才能提供帮助。理想情况下,这是一个小的可复制的问题示例。我使用的主题ThemeIsle的作者回答说:对于主题中未提供的自定义工作或附加功能,他们帮不了忙。我注意到菜单甚至在桌面模式下也没有关闭,在自定义链接中有锚。我发现了一个不太好的问题:我用url+锚替换了自定义链接中的锚。问题是页面重新加载,我丢失了滚动条。所以我查看了发布的代码,但我根本不懂Javascript。也许应该将锚定定义为标准url以允许关闭?谢谢你以后的帮助。