Содержание:
.toggle( [duration ] [, complete ] )Возвращает: jQuery
Описание: Показывает или скрывает элементы в наборе объекта jQuery.
-
Добавлен в версии: 1.0.toggle( [duration ] [, complete ] )
-
duration (значение по умолчанию:
400
)Строка или число определяющее длительность анимации. -
completeТип: Function()Функция, которая будет вызвана по окончании анимации, вызывается для каждого элемента в наборе объекта jQuery.
-
-
Добавлен в версии: 1.0.toggle( options )
-
optionsТип: PlainObjectОбъект с дополнительными опциями передаваемыми в метод.
-
duration (значение по умолчанию:
400
)Строка или число определяющее длительность анимации. -
easing (значение по умолчанию:
swing
)Тип: StringСтрока определяющее какая easing функция будет использована. -
queue (значение по умолчанию:
true
)Булевый флаг, означающий следует ли поместить анимацию в очередь выполняемых эффектов. Если значениеfalse
, то анимация запустится немедленно. Начиная с jQuery 1.7, опция queue может также принимать строку, в этом случае анимация будет добавлена в очередь представленная этой строкой. Когда используется произвольное имя в очереди - анимация не запускается автоматически, Вы должны вызвать метод.dequeue("queuename")
для ее запуска. -
specialEasingТип: PlainObjectОбъект содержащий один или несколько CSS свойств и определяющий соотвествующую функцию анимации для конкретного CSS свойства. (Добавлен в версии: 1.4)
-
stepФункция, которая вызывается для каждого анимированного свойства каждого анимационного элемента. Эта функция дает возможность изменять объект Tween, чтобы изменить значение свойства, прежде чем оно установлено.
-
progressФункция, которая вызывается после каждого шага анимации, только один раз для анимационного элемента, независимо от количества анимированных свойств. (Добавлен в версии: 1.8)
-
completeТип: Function()Функция, которая вызывается один раз для анимации на элементе при ее завершении.
-
startФункция, которая вызывается перед началом анимации. (Добавлен в версии: 1.8)
-
doneФункция, которая вызывается после завершения анимации на элементе. (Добавлен в версии: 1.8)
-
failФункция, которая вызывается если анимация завершается ошибкой. (Добавлен в версии: 1.8)
-
alwaysФункция, которая вызывается в любом случае - либо при завершении анимации, либо при ее отмене без выполенения. (Добавлен в версии: 1.8)
-
-
-
Добавлен в версии: 1.4.3.toggle( duration [, easing ] [, complete ] )
-
duration (значение по умолчанию:
400
)Строка или число определяющее длительность анимации. -
easing (значение по умолчанию:
swing
)Тип: StringСтрока определяющее какая easing функция будет использована. -
completeТип: Function()Функция, которая вызывается один раз для анимации на элементе при ее завершении.
-
-
Добавлен в версии: 1.3.toggle( display )
-
displayТип: BooleanИспользуйте значение
true
для отображения элемент илиfalse
для его скрытия.
-
Важно: обработчик событий также называется .toggle(). Какой из них будет использован зависит от набора аргументов переданных в метод.
Метод .toggle()
вызванный без аргументов просто переключит видимость элемента:
1
|
|
Элементы будут показаны или скрыты немедленно, без анимации, при помощи изменения CSS свойства display
. Если изначально элемент отображался, то он будет скрыт, иначе он будет показан. Свойство display
сохраняется или восстанавливается по мере необходимости. Если у элемента значение свойства display
равно inline
, то после скрытия и отображения значение этого свойства вновь будет установлено в inline
.
Когда в метод передаются один из следующих аргументов (длительность, объект с опциями или функция complete
), то методы .toggle()
выполняется с анимацией. Метод .toggle()
анимирует ширину, высоту и прозрачность одновременно. Когда эти свойства достигнут значения 0 после завершения анимации, значение свойства стиля display
будет установлено в none
чтобы убедиться в том, что элемент больше не влияет на макет страницы.
Длительность задается в милисекундах. Более высокие значения означает более медленную анимацию, а не быструю. Значение по умолчанию 400
милисекунд. Строки 'fast'
и 'slow'
могут быть использованы для указания длительности 200
и 600
милисекунд соответственно.
Начиная с jQuery версии 1.4.3, может быть использована дополнительная строка, содержащая название easing функции. Easing функция определяет скорость с которой анимация прогрессирует в различных точках в пределах анимации. В базовом функционале jQuery поставляется две такие функции: swing
, используемая по умолчанию, и linear
с равномерным изменением анимации. Больше easing
функций доступны при использовании плагинов, в первую очередь jQuery UI suite.
Функция обратного вызова, если задана, будет вызвана один раз после окончания анимации. Это может быть использовано для выстраивания определенной последовательности анимации. Эта функция не принимает никаких аргументов, но this
ссылается на анимируемый DOM элемент. Если анимируется сразу несколько элементов, то важно понимать что функция обратного вызова выполнится один раз для каждого из этих элементов, а не один раз для всей анимации.
Мы можем анимировать любой элемент, например простое изображение:
1
2
3
4
|
|
Мы можем анимировать при помощи .toggle()
после клика на другой элемент:
1
2
3
4
5
|
|
С изначально показывемым элементом, мы можем скрыть его медленно после первого клика:
Второй клик покажет элемент опять:
Вторая версия метода принимает булевый параметр. Если этот параметр равен true
, то элемент покажется, если false
элемент скрывается. По сути выражение:
1
|
|
эквивалентно следующему:
1
2
3
4
5
|
|
Дополнительное примечание:
-
Все эффекты jQuery, включая
.toggle()
, могут быть отключены глобально при помощи настройкиjQuery.fx.off = true
, которая фактически устанавливает длительность анимации в значение 0. Более подробно это описано на странице jQuery.fx.off.