Jquery函数不等待其他完成。我认为

时间:2013-05-28 14:16:23

标签: javascript jquery coffeescript

我需要构建一个多媒体播放器,其中包含特定时间的图像,其中一些以循环模式显示。我找不到像我的客户希望它一样工作的图书馆,所以我自己建一个。

我遇到了一个我无法处理的愚蠢问题:-(谷歌搜索的数量没有任何帮助。

我尝试了无数的排列,但这是我的Coffeescript功能的一个例子:

    # The slideshow
  showImages = (current_time, exercise) ->
    for timing, img of exercises[exercise].animation
      # string to float -> to float with one decimal
      if current_time >= timing and current_time < (+timing + 0.2).toFixed(1) and current_time > 0.5
        this_id = '' + img + '-' + timing.replace '.', '-'n + ''
        activeId = $('#slideshow img.active').first().attr('id')
        eval("$('#" + activeId + "').fadeOut(500).removeClass('active')")
        eval("$('#" + this_id + "').addClass('active')")     
        break

这段代码在很多方面都非常糟糕,您可以随意改进它,但这是我的主要问题:

  • 具有活动类且位于堆栈顶部的图像淡出。好。
  • 同一张图片删除了活动类。好。
  • 堆栈顶部的新图像(使用#this_id)获取活动类。好。
  • 然后,同样的新图像逐渐消失! 一点也不好。

代码使用起来更简单,但我绝望的调试尝试使它变得更加丑陋。

请注意我在启动下一个函数之前已经研究了等待函数完成但是无法实现此示例的建议。

提前感谢您的帮助。

0 个答案:

没有答案