我希望为这个jQuery的功能添加300毫秒的延迟,但不是100%确定它应该放在哪里?
我知道我需要添加.delay(300)
,但不太确定它必须放在下面的代码中。
$("#menu1-holder").mouseleave(function(){
$('#menu1-holder').css('display', 'none');
});
或者......我应该使用setTimeout
吗?如果是的话应放在哪里?
答案 0 :(得分:4)
$("#menu1-holder").mouseleave(function(){
var that = $(this);
setTimeout(function(){
that.css('display', 'none');
}, 300);
});
答案 1 :(得分:2)
您也可以使用简单的脚本执行此操作:
$("#menu1-holder").mouseleave(function(){
$('#menu1-holder').delay(300).css('display', 'none');
});