响应菜单不关闭项目选择

时间:2016-10-15 04:50:21

标签: 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');

    }

});

});

1 个答案:

答案 0 :(得分:1)

您可以在单击任何菜单项时再次向上滑动菜单。尝试添加这个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是媒体查询中的断点