如何在 Jquery 中将 delay() 与 show() 和 hide() 一起使用
Posted
技术标签:
【中文标题】如何在 Jquery 中将 delay() 与 show() 和 hide() 一起使用【英文标题】:How can I use delay() with show() and hide() in Jquery 【发布时间】:2011-05-29 08:41:32 【问题描述】:如何在 Jquery 中将 delay()
与 show()
和 hide()
一起使用?
【问题讨论】:
【参考方案1】:将持续时间传递给show()
和hide()
:
当提供持续时间时,
.show()
成为动画方法。
例如element.delay(1000).show(0)
DEMO
【讨论】:
【参考方案2】:来自 jquery api
在 1.4 版中添加到 jQuery,.delay()
方法允许我们延迟执行队列中跟随它的函数。它可以与标准效果队列或自定义队列一起使用。只有队列中的后续事件被延迟;例如,这不会延迟不使用效果队列的.show()
或.hide()
的无参数形式。
http://api.jquery.com/delay/
【讨论】:
【参考方案3】:你为什么不试试 fadeIn() 而不是使用带有 delay() 的 show()。 我认为你正在尝试做的事情可以用这个来完成。 这是 fadeIn 和 FadeOut() 的 jQuery 代码,它还具有用于延迟进程的内置方法。
$(document).ready(function()
$('element').click(function()
//effects take place in 3000ms
$('element_to_hide').fadeOut(3000);
$('element_to_show').fadeIn(3000);
);
【讨论】:
淡入和延迟显示是完全不同的两件事【参考方案4】:最简单的方法是使用 jquery 制作“假节目”。
element.delay(1000).fadeIn(0); // This will work
【讨论】:
这是一场“假”秀吗?为什么不直接使用.show(0)
?以上是关于如何在 Jquery 中将 delay() 与 show() 和 hide() 一起使用的主要内容,如果未能解决你的问题,请参考以下文章