0

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

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

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

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

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

1 回答 1

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");
});
于 2012-11-03T20:35:02.410 回答