Jquery:函数顺序执行

时间:2012-03-04 15:08:51

标签: jquery

我希望你能帮助我解决一个关于jquery异步管理的小问题。

我写的示例代码在这里(已注释):Async Jquery Problem

描述

好。我有一堆元素对齐。它们具有一个在点击时触发的功能,它将当前元素作为前一个和下一个,并将它们设置为高+ + 50。

我需要什么

我需要点击堆积并在最后一组元素完成动画时执行一次。

我使动画持续时间随机模拟异步事件。

问题

第一

自定义队列不会自动启动。所以我需要一种方法来检查在队列出队之前没有动画运行

第二

在函数的完整调用上调用函数.is(':animated').animate是没有意义的。

那时元素仍然设置为:animated,所以我用一种廉价的方法来解决在完成函数中调用setTimeout的问题,所以在触发setTimeout时执行完整的函数并且.is(' :animated')正确设置为false。

我需要一个更好的解决方案,因为有一个小窗口,其中测试返回true,出列函数是triggere两次。 (有关更好的解释,请参阅代码注释)

第三

尽管我在队列数组中注入了一个哨兵(正如fx队列在jQuery中所做的那样),但是有一个短时间窗口会在不应该出现时触发出队(读取代码注释以获得更好的解释,我再次知道)由于javascript语言缺乏同步锁定。

个人评论

是的,我知道jquery是无线语言,但我需要一种方法来稳健地同步这个动画。

底线

欢迎任何评论,解决方案或想法......

0 个答案:

没有答案