javascript - 响应式菜单未关闭项目选择

标签 javascript jquery wordpress

编辑:我并不是想咄咄逼人,但如果有人知道如何帮助我,我真的很感激。

www.kwpei.com是我正在开发的网站,我遇到的问题是选择菜单或子菜单项后响应式菜单未关闭。我被告知进行所需更改的位置位于 global.js 中,我已将其以当前状态包含在此处。有人可以告诉我如何解决这个问题吗?

jQuery(function( $ ){

$('.site-header').addClass('front-page-header');

$('.footer-widgets').prop('id', 'footer-widgets');

$(".nav-primary .genesis-nav-menu, .nav-secondary .genesis-nav-menu").addClass("responsive-menu").before('<div class="responsive-menu-icon"></div>');

$(".responsive-menu-icon").click(function(){
    $(this).next(".nav-primary .genesis-nav-menu, .nav-secondary .genesis-nav-menu").slideToggle();
});

$(window).resize(function(){
    if(window.innerWidth > 800) {
        $(".nav-primary .genesis-nav-menu, .nav-secondary .genesis-nav-menu, nav .sub-menu").removeAttr("style");
        $(".responsive-menu > .menu-item").removeClass("menu-open");
    }
});

$(".responsive-menu > .menu-item").click(function(event){
    if (event.target !== this)
    return;
        $(this).find(".sub-menu:first").slideToggle(function() {
        $(this).parent().toggleClass("menu-open");
    });
});

// Local Scroll Speed
$.localScroll({
    duration: 750
});

// Sticky Navigation
var headerHeight = $('.site-header').innerHeight();
var beforeheaderHeight = $('.before-header').outerHeight();
var abovenavHeight = headerHeight + beforeheaderHeight - 1;

$(window).scroll(function(){

    if ($(document).scrollTop() > abovenavHeight){

        $('.nav-primary').addClass('fixed');

    } else {

        $('.nav-primary').removeClass('fixed');

    }

});

});

最佳答案

单击任何菜单项后,您可以再次向上滑动菜单。尝试添加这段 jquery:

$('.menu-item a').click(function () {
    $('.responsive-menu').stop(true, true).slideUp();
});

编辑:

$('.menu-item a').click(function () {
if ($(window).width() < 800) {
    $('.sub-menu').stop(true, true).slideUp();
    $('.responsive-menu').stop(true, true).slideUp();
    $('.menu-item').removeClass('menu-open');
    }
});

如果 800px 是媒体查询中的断点

关于javascript - 响应式菜单未关闭项目选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40055064/

相关文章:

javascript - react :改变消费者的环境

javascript - 在 Redux 中将容器放在组件中是否可以?

jquery - 通过 jQuery 添加选中属性

css - woocommerce 最近的产品悬停颜色

mysql - 无法连接到docker容器中的MySQL数据库

javascript - 用盐双重哈希密码更安全吗? (稍微复杂一点)

javascript - JS Unpacker via PHP - 函数(p,a,c,k,e,r)

javascript - 使用 jquery 从动态添加的 html 代码调用函数

jquery - 如何使用jquery从json数组中获取第一列

css - 如何从我的 wordpress 网站中的 iframe 中删除 png 透明度