jQuery:延迟fadeIn,slideDown或类似的东西

时间:2010-12-11 10:35:22

标签: javascript jquery delay wait

昨晚我想知道如何延迟fadeIn或类似的东西。这不是我正在做的事情,我只是想知道。

如果您有一个列表,例如,链接可以在悬停时激活工具提示。你怎么让它“等待”直到你徘徊1秒钟?

我想这样做,因此当您将鼠标悬停在列表中时,工具提示不会“闪烁”。如果你明白我的意思。

登录时可以使用同样的东西。如果您看到http://twitter.com/(未登录)。如果顶部的登录框是使用悬停激活而未单击,则如果光标离开登录框,它将再次消失。是否可以设置“延迟”,以便光标可以离开登录框,然后返回,不会消失......?

简而言之:
- 在x秒后悬停时如何激活脚本? - 如何设置隐藏由悬停激活的div(不悬停时)的延迟?
- 这是相同的事情,只是反过来?

1 个答案:

答案 0 :(得分:0)

有一个非常先进的悬停插件,在触发任意代码之前等待你的鼠标减速 - http://cherne.net/brian/resources/jquery.hoverIntent.html

或者,如果你不需要这么高级的东西......你只需在setTimeout()中触发动画,然后在mouseleave上调用clearTimeout()

另一种选择,就是不要为延迟而烦恼。如果您使用.stop().fadeIn().stop().fadeOut()而不是简单的show()hide(),则不会出现“闪烁”,效果看起来会非常好。< / p>

(您可以查看.delay()来延迟与动画相关的代码 - 尽管这只会延迟动画,即使您在延迟完成之前离开了div。)