0

以下宽松不会触发。如果 queue:true 被删除,它会这样做,但我们也需要那个位。

$(this).delay(delay).animate({left: '+' + bounceoffset + 'px', top:0, opacity:0.6}, {queue:true, duration:800}, 'elastic');

它是如何完成的。

4

1 回答 1

-1

文档没有说指定queue: true意味着queue: 'fx'哪个是默认队列。

它默认排队,所以只需删除queue: true.

编辑您实际上没有使用正确的格式,即

  • 任何一个:.animate( properties [, duration] [, easing] [, complete] )
  • 或者:.animate( properties, options )

在您的情况下更改{queue:true, duration:800}800

实时调频。

再次编辑

您认为您使用的是第一个参数结构,但实际上您使用的是第二个。JQuery 将对象视为第二个参数,并认为它是第二个参数。

我认为真正的问题是“弹性”并不是真正的缓动功能。因此,如果 JQuery 忽略了您的最后一个参数(认为只有两个参数),您的代码可以工作,但是如果您更改{queue:true, duration:800}800,则 JQuery 会假定第一个参数结构并失败,因为您指定的缓动是未定义的。

顺便提一句。这些是 JQuery 中定义的缓动:

linear swing jswing def easeInQuad easeOutQuad easeInOutQuad easeInCubic easeOutCubic easeInOutCubic easeInQuart easeOutQuart easeInOutQuart easeInQuint easeOutQuint easeInOutQuint easeInSine easeOutSine easeInOutSine easeInExpo easeOutExpo easeInOutExpo easeInCirc easeOutCirc easeInOutCirc easeInElastic easeOutElasticeaseInOutElastic easeInBackeaseOutBackeaseInOutBackeaseInBounceeaseOutBounce easeInOutBackeaseInBounceOutBackeaseOutBounce ease

于 2012-01-26T17:39:43.870 回答