2016-10-15 60 views
0

編輯:我不是想挑釁,但如果有人知道如何幫助我,我真的很感激它。響應式菜單不關閉項目選擇

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'); 

    } 

}); 

});

+0

斷點我無法重現行爲你描述(運行Chrome 53.0 .2785.143米,在Windows 10上) –

+0

800px之後的漢堡包菜單(響應菜單)在從中選擇一個項目後不會關閉,除非通過再次點擊漢堡包手動關閉它... Id選擇後立即關閉它項目。我不是在談論桌面菜單,只是在移動設備上出現的菜單。 – Redtail

回答

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'); 
    } 
}); 

如果800像素是你在媒體查詢

+0

立即嘗試,即使它不起作用,我在說謝謝。有一刻,我會讓你知道。 – Redtail

+0

我可能沒有添加正確的...它打破了我的標題和我的響應式菜單 – Redtail

+0

我直接在$(「.response-menu> .menu-item」)下複製了你的兩行。removeClass(「menu-open」) ; – Redtail

相關問題