jQuery如何在使用hide()/show()时使用stop()方法?

8
我想知道是否有可能在使用show()hide()时使用stop()函数(我通常在animate()上使用它)。
如果我快速重复悬停在一个使用show()显示一些子div的
上,那么显示动画会一遍又一遍地重复。 stop()函数可以停止这种行为。
但是我不知道如何在hide()show()中使用stop()函数。
这是否可能?
谢谢 Matt问候
2个回答

9

您需要为您的显示/隐藏效果设置持续时间:

.hide('slow')

之后你就可以使用 .stop().stop(true,true)

stop( [ clearQueue ], [ jumpToEnd ] )

clearQueue 一个布尔值,表示是否也要移除队列中的动画。默认为 false。

jumpToEnd 一个布尔值,表示是否立即完成当前动画。默认为 false。

另一种方法是添加延迟,例如

 .delay(500).hide(1);

http://api.jquery.com/delay/

.delay( duration, [ queueName ] ) duration 是一个整数,表示延迟执行队列中下一个任务的毫秒数。

queueName 是一个字符串,表示队列的名称。默认为fx,即标准效果队列。


你也可以使用.stop(1,1),它与.stop(true,true)是一样的。 - Reigel Gallarde

2
你需要调用动画元素上的停止函数。此外,你需要设置clearqueue参数,以便你不仅可以停止第一种动画形式,还可以停止任何等待运行的排队动画。 http://api.jquery.com/stop/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接