如何在添加类时设置顺序延迟?

时间:2012-11-03 20:30:12

标签: javascript jquery animation coffeescript underscore.js

我正在使用jQuery UI插件和最新的jQuery。

我想依次在我的元素数组中依次添加类。现在我有这个:

$(@el).addClass("gridBoxComplete", 400, "easeOutBounce").delay(800)

其中@el是数组中的当前元素。但是,在运行迭代中的下一个项目之前,这不会延迟此对象。我基于这个想法基于这个动画。

$(@).hide().each (index) ->
  $(@)
    .delay(index * 100)
    .fadeIn 500

1 个答案:

答案 0 :(得分:3)

delay()延迟动画,而不是类名更改或其他代码执行。如果您想要通用执行延迟,请使用setTimeout或类似的内容:

$.fn.wait = function(ms, callback) {
  return this.each(function() {
    setTimeout(callback.bind(this), ms)
  })
}

$(@el).addClass("gridBoxComplete", 400, "easeOutBounce").wait(800, function() {
    $(this).addClass("something");
});