Как изменить анимационный переход jQuery с линейного на квадратичный - PullRequest
1 голос
/ 09 февраля 2012

Мне кажется, я заметил, что все переходы jQuery (например, эффект слайда) работают линейно. Это означает, что скорость анимации никогда не меняется.

Я задавался вопросом, можно ли изменить это на более квадратичное поведение. Это означает, что я хочу, чтобы анимация начиналась медленно, а затем становилась быстрее.

Есть ли способ в jQuery сделать это?

Ответы [ 2 ]

3 голосов
/ 09 февраля 2012

Не думаю, что это правда, большинство функций jQuery имеют параметр замедления (fadeIn / out, slideDown / up)
Если вы используете slideDown (я делаю пример), вы можете указать параметр easing, который по умолчанию равен swing. Если вы хотите linear, вы должны указать

.slideDown( [duration] [, easing] [, callback] )

Взято из документов

Облегчение
Начиная с jQuery 1.4.3, может использоваться необязательная строка, называющая функцию замедления. Функции ослабления определяют скорость, с которой анимация развивается в разных точках анимации. по умолчанию только реализации замедления в библиотеке jQuery, называется качели, и тот, который прогрессирует в постоянном темпе, называется линейно. Более легкие функции доступны с использованием плагинов, прежде всего пакет jQuery UI.

1 голос
/ 09 февраля 2012

Почти все переходы jquery имеют поддержку для ослабления:

$('#something').animate( { left: 96 }, 'fast', 'swing' );
// 'swing' is the name of the easing function

В этом плагине доступен больший набор возможностей ослабления: http://gsgd.co.uk/sandbox/jquery/easing/

...