Jquery 是否通过其队列键访问动画元素?
我可以停止自定义命名队列中的动画而不访问动画元素吗Jquery 是否通过其队列键访问动画元素?,jquery,Jquery,我可以停止自定义命名队列中的动画而不访问动画元素吗 $(complictedSelector).animate( {opacity: .5}, {duration: 10000, queue: 'hover'} ); 我天真地尝试使用$stop('hover')无效:-) 看来我确实需要这些元素。所以是否有办法通过其队列键/名称访问动画元素 队列键是指传递到选项中的字符串(在本例中为“hover”) “我可以停止自定义命名队列中的动画而不访问动画元素吗?” 我并不认为
$(complictedSelector).animate(
{opacity: .5},
{duration: 10000, queue: 'hover'} );
我天真地尝试使用$stop('hover')
无效:-)
看来我确实需要这些元素。所以是否有办法通过其队列键/名称访问动画元素
队列键是指传递到选项中的字符串(在本例中为“hover”)
“我可以停止自定义命名队列中的动画而不访问动画元素吗?”
我并不认为这是有效的,但是:
$(":animated").stop('hover');
// or even
$("*").stop('hover');
我想你必须平衡编码效率低下的一行代码的难易性和保留动画元素引用的更多基础设施,也许测试速度,并自行决定如何继续。我看不到任何方法。队列与元素绑定,因为多个元素可以具有具有相同名称的单独队列。所有基于队列的方法都具有必需的元素参数,或者需要对选定元素调用。如果有方法可以这样做,这是通过未记录的方法实现的,这些方法将添加一层维护,这可能必须在每次更新jQuery时完成。可能最好按照您所说的自己做。您可以在
$.timers
中迭代计时器,并检查每个项目的.queue
属性。计时器的相应元素保存为.elem
-但这不是官方方式…:)我不建议这样做。我刚刚测试过它,我想我应该提到这种可能性——尽管它真的很糟糕^^