2012-01-26 4 views
0

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

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

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

ответ

-1

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

Это очереди по умолчанию, поэтому просто снимите queue: true.

EDIT вы на самом деле не использовать правильный формат, который

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

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

RTFM.

EDIT СНОВА

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

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

BTW. Это easings определенные в 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

+0

Нет Мне нужна очередь: правда на месте, как я сказал в моем вопросе –

+0

, но он по умолчанию стоит в очереди. см. исправленный ответ – ori

+0

По умолчанию он не стоит в очереди. Процедура анимации выполняется, но в очереди firefox: true для поддержания свойства задержки –