2014-02-26 126 views
0

我對jQuery不太熟悉,所以我很難達到我想要的相當簡單的效果。如何讓菜單項隱藏在菜單項上?

Live Test Site

所以,我創造了我的網站resonsive菜單。如果您調整窗口大小,您將能夠看到移動版本。這很好,除了一件事:

我在我的菜單中有錨鏈接,這意味着該網站將不會加載一個新的頁面點擊,而是向下滾動到錨點。我的問題是,當我點擊其中一個菜單項時,我不知道如何關閉菜單。

目前,這是一個讓我當前的菜單功能(FA-條腳本漢堡包圖標,.primary,移動導航是移動WordPress的導航菜單:

jQuery(document).ready(function($) { 
     var pull  = $('.fa-bars'); 
      menu  = $('.primary-mobile-nav'); 
      menuHeight = menu.height(); 

     $(pull).on('click', function(e) { 
      e.preventDefault(); 
      menu.slideToggle(); 
     }); 
}) 
jQuery(window).resize(function(){ 
    var w = $(window).width(); 
    if(w > 320 && menu.is(':hidden')) { 
     menu.removeAttr('style'); 
    } 
}); 

我想總結它,我的問題是:我怎樣才能添加到腳本,這樣,當我點擊任何菜單項的菜單被再次隱藏的

編輯

所以我實際上設法解決這個問題通過添加一個其他變量,我稱之爲「回調」,並將其分配給「菜單項」,然後我就被調用的函數是這樣的:

$(pullback).on('click', function(e) { 
    e.preventDefault(); 
    menu.slideToggle(); 
}); 

我會檢查出其他的答案我來到這裏,看看這些解決方案是更好:)

回答

0

試試這個jQuery的片斷了。

$("#menu-mobile-navigation a").each(function(){ 
    $(this).click(function(){ 
    menu.slideToggle(); 
    }); 
}); 

祝你好運。

+1

謝謝,我正在改變我的代碼到這個。看起來比我自己的貧民窟清潔得多;) – michaelw90

1
//When we click on a menu item 
$('#menu-mobile-navigation li').click(function(){ 
    //Hide the menu 
    $('.primary-mobile-nav').hide(); 

}); 

希望這有助於

+0

這實際上做了我所問,但它沒有拉動畫。但是,我找到了一個解決方案,我將用它編輯我的問題。 – michaelw90

+0

@ michaelw90你可以用.slideUp()代替.hide() – heymega