Функция $.speed()

Определение и применение

Функция $.speed() нормализует параметры анимации. Она полезна автору плагина, который хочет принимать длительность, сглаживание и обработчик завершения в привычном для эффектов jQuery формате.

Синтаксис

JavaScript
const options = $.speed(duration, easing, complete);
const otherOptions = $.speed({ duration: 200, easing: "linear", complete });

Параметры и возвращаемое значение

duration — число миллисекунд или имя скорости: "fast" соответствует 200, "slow" — 600. Обычная длительность по умолчанию — 400. easing задаёт сглаживание, complete — функцию завершения. Можно передать объект настроек; необязательные позиционные аргументы допускается опускать.

Результат — обычный объект параметров, а не анимация и не коллекция. В нём нормализуются длительность и очередь; по умолчанию используется "fx". При $.fx.off = true длительность становится нулевой.

Особенности и совместимость

Сам вызов не изменяет DOM и не запускает эффект. Для обычной задачи передавайте параметры прямо в .animate(). Функция нужна прежде всего при реализации собственного метода эффектов.

Нормализованный обработчик complete также участвует в продвижении очереди. Не вызывайте его произвольно и не продвигайте ту же очередь дважды. API находится в полной сборке; slim не содержит модуль эффектов.

Документация

Пример использования

Нормализация скорости: попробуйте сами

Скорость fast преобразуется в 200 мс, сохраняется linear и выбирается очередь fx. Используется jQuery 4.0.0.

index.html
HTML
<pre id="result"></pre>
main.js
JavaScript
const options = $.speed('fast', 'linear')
$('#result').text(options.duration + ' | ' + options.easing + ' | ' + options.queue)