我想在5秒内显示一个设置为display: none;
的div。
$('#div').show().delay(5000).hide();
但它不起作用,它直接跳到 hide()。
你们能帮我吗?
我想在5秒内显示一个设置为display: none;
的div。
$('#div').show().delay(5000).hide();
但它不起作用,它直接跳到 hide()。
你们能帮我吗?
可以这样做:
$('#div').show(0).delay(5000).hide(0);
通过向 .show()
和 .hide()
传递数字,jQuery 将这些方法放入其内部的 fx 队列 中(即使数字为零)。由于 .delay()
只在队列内起作用,因此您需要使用这个小技巧。你需要使用.queue()
,因为.hide()
默认情况下不会排队。
$("#div").show().delay(5000).queue(function (next) {
$(this).hide();
next();
});
$('#div').show('slow').delay(5000).hide('slow');
$('#div').show();
setTimeout(function(){$('#div').hide();}, 5000);
.delay()仅适用于动画
hide(0)
对于动画也起作用。我甚至不需要延迟.animate({opacity: 0}, 400).hide(0)
- Hebe