【发布时间】:2014-08-19 12:31:28
【问题描述】:
目前,当用户单击一个按钮时,会执行几个 javascript 函数。因为每个函数都会在站点上执行一些动画(更多信息可以在第二条评论中找到),所以我必须一个接一个地执行它们,所以 jQuery 不会搞砸,因为它在一个甚至没有的元素上启动了一个动画已加载/显示。
我当前的解决方案是使用setTimeout 调用每个函数,然后调用前一个函数,如下所示:
window.setTimeout(functionA,250);
window.setTimeout(functionB,500);
这在 Chrome 中效果很好,但在 Firefox 中有时执行速度仍然太快。因此,我希望通过告诉 Javascript 仅在前一个函数完全完成时才执行下一个函数来解决此解决方法。
我已经阅读了有关添加回调的信息 - 但我有很多函数要调用。我真的必须为每个函数添加回调来实现我想要的吗?
非常感谢。
【问题讨论】:
-
请分享你的动画功能..
-
所有函数的目标:通过 AJAX 加载一些信息,将它们添加到下拉菜单(
.html()),对下拉菜单进行排序,最后选择特定选项(.prop())。 4 个步骤,4 个功能。如果在执行下一个功能时任何功能尚未完成,那么它 - 显然 - 将无法正常工作,因为缺少最后一步。
标签: javascript jquery