2010-12-11 61 views
1

昨晚我想知道如何延迟淡入淡出或类似的东西。这不是我正在做的事,我只是想知道。jQuery:延迟fadeIn,slideDown或类似的东西

例如,如果您有一个列表,其中包含激活悬停时的工具提示的链接。你如何让它“等待”,直到你徘徊1秒?

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

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

简而言之:
- 如何激活脚本,当x秒后徘徊?
- 你如何设置一个延迟隐藏一个div(当不悬停),由悬停激活?
- 它是相同的东西,只是相反?

回答

0

虽然对你的鼠标等待相当先进的悬停插件触发任意代码之前放慢 - http://cherne.net/brian/resources/jquery.hoverIntent.html

或者,如果你不需要的东西这么先进......你可以简单地触发动画在setTimeout(),并在mouseleave调用clearTimeout()

另一种选择,是不打扰延迟。如果您执行.stop().fadeIn().stop().fadeOut()而不是简单的show()hide(),则不会出现“闪烁”,效果看起来相当不错。

(你可以看一下.delay()延迟动画相关的代码 - 尽管这只会耽误动画,即使你的延迟完成之前移出DIV)