JQuery ослабление с функцией очереди - PullRequest
0 голосов
/ 26 января 2012

Следующее ослабление не срабатывает.Это происходит, если queue: true удалена, но этот бит нам тоже нужен.

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

Как это делается.

1 Ответ

0 голосов
/ 26 января 2012

В документации не сказано, что указание queue: true означает queue: 'fx', которая является очередью по умолчанию.

По умолчанию он ставится в очередь, поэтому просто сбросьте queue: true.

РЕДАКТИРОВАТЬ вы на самом деле не используете правильный формат, который является

  • либо: .animate( properties [, duration] [, easing] [, complete] )
  • или: .animate( properties, options )

В вашем случае измените {queue:true, duration:800} на 800

RTFM.

ИЗМЕНИТЬ СНОВА

Вы думаете, что используете первую структуру аргумента, но на самом деле вы используете вторую. JQuery видит объект как второй параметр и считает его вторым параметром.

Я думаю, что настоящая проблема заключается в том, что «эластичность» не является функцией ослабления. Так что если JQuery игнорирует ваш последний аргумент (думая, что есть только два), ваш код работает, но если вы измените {queue:true, duration:800} на 800, JQuery примет структуру первого аргумента и потерпит неудачу, потому что указанное вами замедление не определено.

КСТАТИ. Это упрощения, определенные в JQuery:

линейное колебание jswing Защиту easeInQuad easeOutQuad easeInOutQuad easeInCubic easeOutCubic easeInOutCubic easeInQuart easeOutQuart easeInOutQuart easeInQuint easeOutQuint easeInOutQuint easeInSine easeOutSine easeInOutSine easeInExpo easeOutExpo easeInOutExpo easeInCirc easeOutCirc easeInOutCirc easeInElastic easeOutElastic easeInOutElastic easeInBack easeOutBack easeInOutBack easeInBounce easeOutBounce easeInOutBounce

...