代码:
<div id="Test">test</div>
$('#Test').delay(5000).html('').hide('slow');
我需要 DIV 在 5 秒后关闭,但它会立即关闭。
我需要更改什么以使其在 5 秒后关闭?
代码:
<div id="Test">test</div>
$('#Test').delay(5000).html('').hide('slow');
我需要 DIV 在 5 秒后关闭,但它会立即关闭。
我需要更改什么以使其在 5 秒后关闭?
delay()将仅延迟使用队列执行的方法,如 animation()、fadeIn() 等
设置一个计时器来延迟队列中后续项目的执行。
使用 setTimeout
setTimeout(function(){
$('#Test').removeClass("test1").removeClass("test2").html('').hide('slow');
}, 5000)
或者使用queue()来延迟后面代码的执行
$('#Test').delay(5000).queue(function(){
$(this).html('').hide('slow');
})
我认为您希望最后两个方法调用相反...
<div id="Test">test</div>
$('#Test').delay(5000).hide('slow', function(){
$(this).html('');//only when done remove the content
});
然而,正如@Royi Namir 指出的那样...... delay() 真的是为了在动画序列中使用......所以你可能首先需要一个“假”动画(基本上是一个无操作),然后是延迟。
<div id="Test">test</div>
$('#Test').css({'opacity':0.95}).fadeIn('slow').delay(5000).hide('slow', function(){
$(this).html('');//only when done remove the content
});
这有点骇人听闻...强制淡入动画...延迟...然后慢慢隐藏...并清除内容。如果你真的想先删除内容,你可以,但它会使 hide() 动画有点多余。