好的,我错过了一些基本的东西,我确定!但是,我的生活无法解决。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