Answers:
您可以.delay()
在动画之前使用,如下所示:
$("#myElem").show().delay(5000).fadeOut();
如果不是动画,请setTimeout()
直接使用,如下所示:
$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);
您进行第二个操作是因为没有持续时间.hide()
通常不会出现在动画(fx
)队列中,它只是即时效果。
或者,另一个选择是使用.delay()
和您.queue()
自己,例如:
$("#myElem").show().delay(5000).queue(function(n) {
$(this).hide(); n();
});
.delay()
将不.hide()
显示该元素,然后将其立即隐藏。看到这个jsFiddle,这就是为什么尼克说“如果不是动画,请直接使用setTimeout(),就像这样:...。”
您可以使用以下效果进行动画处理,也可以根据需要更改值
$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow');