我有一個按鈕,只有當它擊中某個媒體查詢時纔會出現。現在它工作正常,按鈕出現,單擊按鈕將顯示sidenav。再次點擊關閉菜單。切換類jQuery setTimeout
我的問題是這樣的 - 我有一個類與它切換,並稱爲'打開'。這使我可以使用不同的圖標來表示打開和關閉。但是我需要延遲切換類,所以圖標不會改變,直到菜單欄關閉。
$(document).ready(function() {
/* prepend category button */
$('.side-bar').before('<div id="button"><p class="sidebar-button"> Menu </p></div>'); //insert html for menu button
$(".sidebar-button").click(function() { //click menu button and do..
setTimeout(function(){ //i added this..
$(".side-bar").slideToggle(); //toggle sidebar
$(this).toggleClass("open"); // toggle class on button for 'open'
});
},5000); // other part of the seTimeout
});
最佳實現方法是什麼?對於這個問題的目的活生生的例子:http://jsfiddle.net/rXt39/2/
編輯
這可能幫助別人尋找類似的事情。我發現了一個解決方案在這裏:
注:我最終改變下面的回答我的代碼。它現在工作完美。
使用的setTimeout只有當切換動畫設置爲一樣的超時將工作,如果一個人有更多或更少項的菜單,然後它將無法工作。這就是爲什麼你可以設置一個回調在第一個函數完成的時刻執行 – 2012-08-17 14:04:26