【发布时间】:2013-05-29 18:43:06
【问题描述】:
问题:我有一个简单的函数,我需要其中的指令一次执行一个。这里是:
showImages = (current_time, exercise) ->
$('#slideshow img.active').first().fadeOut(500).removeClass('active')
$('#new-image').addClass('active')
由于最后两行几乎同时发生,id 为 'new-image' 的图像会淡出。
我希望在下一行开始之前完成处理带有“活动”类的 img 的行。
我已经进行了很多 Google 搜索,但我不知道如何将代码示例应用到这个用例中。以下是我找到的一些 Google 文章:
- jQuery: wait for function to complete to continue processing?
- http://www.sitepoint.com/forums/showthread.php?847638-Script-to-Wait-for-javascript-function-to-end
- waiting a function to complete
非常感谢您的帮助。
【问题讨论】:
-
“由于最后两行几乎同时发生,id 为 'new-image' 的图像会淡出。” - 这没有意义。
$('#slideshow img.active').first().fadeOut(500).removeClass('active')行选择第一个img.active元素(在#slideshow内)并在其上排队一个fadeOut,然后立即删除其'active'类。 fadeOut 需要 500 毫秒,但将 仅 应用于该元素,它不会以某种方式也应用于其他可能在淡入淡出时添加了'active'类的元素。 -
P.S.您是否还有其他代码没有显示?
标签: javascript jquery coffeescript