2011-11-23 67 views
3

我期待添加一个300毫秒的延迟到这个jQuery的功能,但不是100%确定它应该坐哪里?CSS变化jQuery延迟

据我所知,我需要添加.delay(300),但不太确定它在下面的代码中的位置。

$("#menu1-holder").mouseleave(function(){ 
    $('#menu1-holder').css('display', 'none'); 
}); 

OR ...我应该使用setTimeout吗?如果是的话应该放在哪里?

回答

4
$("#menu1-holder").mouseleave(function(){ 
var that = $(this); 
setTimeout(function(){ 
    that.css('display', 'none'); 
}, 300);  
}); 
+0

完美,谢谢:) –

2

你也可以像这样简单的脚本:

$("#menu1-holder").mouseleave(function(){ 
    $('#menu1-holder').delay(300).css('display', 'none'); 
}); 

入住这http://api.jquery.com/delay/