我試圖在下拉菜單的懸停效果期間實現時間延遲。我正在嘗試使用setTimeout,並且下拉菜單在懸停時可以正常工作,但我沒有得到延遲。它只是瞬間發生。下面是我的代碼:使用jQuery懸停延遲
$(document).ready(function(){
$("li.dropdown-hover").hover(hoverIn, hoverOut);
});
function hoverIn(){
setTimeout(func1(this), 3000);
}
function hoverOut(){
setTimeout(func2(this), 1000);
}
function func1(element) {
$(element).find(".dropdown-menu-hover").css("display", "block");
}
function func2(element) {
$(element).find(".dropdown-menu-hover").css("display", "none");
}
我是相當新的jQuery和出於某種原因,我不希望使用任何外部插件如http://cherne.net/brian/resources/jquery.hoverIntent.html其建議在許多類似的問題。有人能告訴我這裏出了什麼問題嗎?
感謝您的回答。不知何故,setTimeout無法訪問'this'(它被視爲窗口對象而不是'li'),所以我通過將它存儲在一個變量中做了一個解決方法。它的工作現在:-) – whitehat