Spec-Zone.ru › jQuery UI

.toggleClass()

.toggleClass( className [, switch ] [, duration ] [, easing ] [, complete ] )Возвращает: jQuery

Описание: Добавляет или удаляет один или несколько классов от каждого элемента в наборе совпавших элементов, в зависимости от наличия класса или значения аргумента switch, анимируя все изменения стилей.

  • .toggleClass( className [, switch ] [, duration ] [, easing ] [, complete ] )

    • className
      Тип: Строка
      Один или несколько имён классов (разделенных пробелом), которые нужно переключить для каждого элемента в наборе совпавших элементов.
    • switch
      Тип: Булево
      Булево значение, определяющее, нужно ли добавить или удалить класс.
    • duration (по умолчанию: 400)
      Тип: Число или Строка
      Строка или число, определяющее, как долго будет выполняться анимация.
    • easing (по умолчанию: swing)
      Тип: Строка
      Строка, указывающая, какую функцию сглаживания использовать для перехода.
    • complete
      Тип: Функция()
      Функция, вызываемая после завершения анимации, вызывается один раз на совпавший элемент.
  • .toggleClass( className [, switch ] [, options ] )

    • className
      Тип: Строка
      Один или несколько имён классов (разделенных пробелом), которые нужно переключить для каждого элемента в наборе совпавших элементов.
    • switch
      Тип: Булево
      Булево значение, определяющее, нужно ли добавить или удалить класс.
    • options
      Тип: Объект
      Все параметры анимации. Все свойства необязательны.
      • duration (по умолчанию: 400)
        Тип: Число или Строка
        Строка или число, определяющее, как долго будет выполняться анимация.
      • easing (по умолчанию: swing)
        Тип: Строка
        Строка, указывающая, какую функцию сглаживания использовать для перехода.
      • complete
        Тип: Функция()
        Функция, вызываемая после завершения анимации, вызывается один раз на совпавший элемент.
      • children (по умолчанию: false)
        Тип: Булево
        Нужно ли дополнительно применить анимацию ко всем дочерним элементам совпавших элементов. Эту функцию следует использовать с осторожностью, так как стоимость определения дочерних элементов для анимации может быть очень высокой и возрастает линейно с количеством дочерних элементов.
      • queue (по умолчанию: true)
        Тип: Булево или Строка
        Булево значение, указывающее, нужно ли помещать анимацию в очередь эффектов. Если false, анимация начнется немедленно. Также может быть указана строка, в этом случае анимация добавляется в очередь, представленную этой строкой.

Аналогично нативным CSS-переходам, анимации классов jQuery UI обеспечивают плавный переход от одного состояния к другому, позволяя вам сохранять все детали о том, какие стили изменять в CSS, а не в JavaScript. Все методы анимации классов, включая .toggleClass(), поддерживают пользовательские длительности и сглаживания, а также предоставляют обратный вызов на завершение анимации.

Не все стили могут быть анимированы. Например, нельзя анимировать изображение фона. Любые стили, которые нельзя анимировать, будут изменены в конце анимации.

Этот плагин расширяет встроенный метод jQuery .toggleClass(). Если jQuery UI не загружен, вызов метода .toggleClass() может не привести к прямой ошибке, так как метод всё ещё существует. Однако ожидаемое поведение не произойдёт.

Пример:

Переключает класс "big-blue" для совпавших элементов.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>toggleClass demo</title>
  <link rel="stylesheet" href="https://code.jquery.com/ui/1.13.3/themes/smoothness/jquery-ui.css">
  <style>
  div {
    width: 100px;
    height: 100px;
    background-color: #ccc;
  }
  .big-blue {
    width: 200px;
    height: 200px;
    background-color: #00f;
  }
  </style>
  <script src="https://code.jquery.com/jquery-3.7.1.js"></script>
  <script src="https://code.jquery.com/ui/1.13.3/jquery-ui.js"></script>
</head>
<body>
 
<div></div>
 
<script>
$( "div" ).click(function() {
  $( this ).toggleClass( "big-blue", 1000, "easeOutSine" );
});
</script>
 
</body>
</html>

Демо:

© The jQuery Foundation and other contributors
Licensed under the MIT License.
https://api.jqueryui.com/toggleClass

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API