【发布时间】:2011-09-02 20:01:25
【问题描述】:
我正在尝试显示一个设置为 display: none; 的 div 5 秒
$('#div').show().delay(5000).hide();
但它不起作用,它只是直接隐藏()
有谁能帮帮我吗?
【问题讨论】:
标签: javascript jquery css
我正在尝试显示一个设置为 display: none; 的 div 5 秒
$('#div').show().delay(5000).hide();
但它不起作用,它只是直接隐藏()
有谁能帮帮我吗?
【问题讨论】:
标签: javascript jquery css
这样做:
$('#div').show(0).delay(5000).hide(0);
通过将数字传递给.show() 和.hide(),jQuery 会将这些方法放入其内部fx 队列(即使数字为零)。由于.delay() 只能在队列中工作,因此您需要这个小解决方法。
【讨论】:
hide(0) 也适用于动画。我什至不需要延迟.animate({opacity: 0}, 400).hide(0)
您需要使用.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() 仅适用于动画
【讨论】: