2013-06-04 50 views
1

當單擊.menubutton時,我想出了以下內容來顯示(滾動下拉菜單),並在菜單內單擊鏈接時再次隱藏(上滾)菜單:顯示響應式菜單,只需點擊一下,而不是兩個

var navi = $('#navigation').hide(); 

$('.menubutton').toggle(function() { 
    navi.slideDown(); 
}, function() { 
    navi.slideUp(); 
}); 

$('#navigation a').click(function() { 
    navi.slideUp(); 
}); 

問題是,如果菜單鏈接已被點擊,.menubutton必須點擊TWICE以再次顯示(滾動)菜單。

任何想法,爲什麼這是?我希望.menubutton每次只需點擊一次。

+0

沒有它很難做任何事情,但你猜的HTML。 jsFiddle也會有用。 – j08691

回答

2

.menubutton處於切換狀態。所以它會調用一個函數,然後調用另一個函數,等等。而不是使用.toggle,請嘗試使用.slideToggle

$('.menubutton').click(function() { 
    navi.slideToggle(); 
}); 
+0

完美的作品,謝謝! – user1444027

+0

不客氣! :-D –

2

點擊導航元素時,所以.menubutton切換仍處於的狀態下,也將調用slideUp在下次點擊你直接調用slideUp。嘗試調用.menubuttonclick代替:

$('#navigation a').click(function() { 
    $('.menubutton').click(); 
}); 
+0

感謝您的幫助! – user1444027

相關問題