好的,我錯過了一些基本的東西,我確定!但是,我的生活無法解決。setTimeout的jquery效果
方案
這是一個簡單的隱藏顯示菜單;
// Setup hover
var fadeDuration = 200;
var setDelay;
$level1Item.hover(function() {
$(this).addClass('hover').find('.level-2').fadeIn(fadeDuration);
}, function() {
$(this).removeClass('hover').find('.level-2').fadeOut(fadeDuration);
});
和正常工作......但下拉是相當大的,當它彈出都是很sexily有刺激性,當你的鼠標從頂部移動到屏幕的底部。
所以我想設置超時時間,並且清除它的鼠標了...
// Setup hover
var fadeDuration = 200;
var setDelay;
$level1Item.hover(function() {
setDelay = setTimeout("$(this).addClass('hover').find('.level-2').fadeIn(200)", 500);
//$(this).addClass('hover').find('.level-2').fadeIn(fadeDuration);
}, function() {
clearTimeout(setDelay);
$(this).removeClass('hover').find('.level-2').fadeOut(fadeDuration);
});
絕對沒有發生!我已經嘗試了超時函數中的警報,他們工作...最初的變量fadeDuration未定義,但數字停止控制檯錯誤。
乾杯Flambino ...非常有用的建議,使總體感。 我在setTimout()中試過了一個函數,但它是$(this)不工作,無法在我的腦海中傳遞,爲什麼它沒有在函數中打中,沒有想到要問$ (這個)。 – 2012-02-10 10:34:00