Анимация jQuery — метод animate()

Анимация jQuery — метод animate()

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

Синтаксис

Основной синтаксис метода jQuery animate() выглядит так:

$(selector).animate({ properties }, duration, callback);

Параметры метода animate() имеют следующие значения:

  • Обязательный параметр properties определяет свойства CSS для анимации.
  • Необязательный параметр duration указывает продолжительность анимации. Длительность может быть указана либо с использованием одной из предопределенных строк «slow» или «fast», либо в количестве миллисекунд; более высокие значения указывают на более медленную анимацию.
  • Необязательный параметр обратного вызова (callback) - это функция, вызываемая после завершения анимации.

Вот простой пример метода jQuery animate(), который анимирует перемещение изображения из его исходного положения вправо на 300 пикселей при нажатии кнопки:

<script type="text/javascript">
  $(document).ready(function(){
    $("button").click(function(){
      $("img").animate({
        left: 300
      });
    });
  });
</script>

Одновременная анимация нескольких свойств

Вы также можете анимировать несколько свойств элемента одновременно, используя метод animate(). Все свойства анимируются одновременно, без каких-либо задержек.

<script type="text/javascript">
  $(document).ready(function(){
    $("button").click(function(){
      $(".box").animate({
        width: "300px",
        height: "300px",
        marginLeft: "150px",
        borderWidth: "10px",
        opacity: 0.5
      });
    });
  });
</script>

Анимация свойств элемента по очереди (последовательная анимация)

Вы также можете анимировать несколько свойств элемента по очереди используя возможность «сцепления» методов jQuery. Мы узнаем больше о том, что такое сцепление методов, в следующей главе.

В следующем примере демонстрируется анимация jQuery с очередями или цепочками, где каждая анимация начинается после завершения предыдущей анимации элемента.

<script type="text/javascript">
  $(document).ready(function(){
    $("button").click(function(){
      $(".box")
        .animate({width: "300px"})
        .animate({height: "300px"})
        .animate({marginLeft: "150px"})
        .animate({borderWidth: "10px"})
        .animate({opacity: 0.5});
    });
  });
</script>

Анимация свойств с относительными значениями

Вы также можете определить относительные значения для анимируемых свойств. Если значение указано с начальным префиксом += или -=, то целевое значение рассчитывается путем сложения или вычитания заданного числа из текущего значения свойства.

<script type="text/javascript">
  $(document).ready(function(){
    $("button").click(function(){
      $(".box").animate({ 
        top: "+=50px",
        left: "+=50px",
        width: "+=50px",
        height: "+=50px"
      });
    });
  });
</script>

Анимация свойств с предопределенными значениями

В дополнение к числовым значениям, каждое свойство может принимать строки 'show', 'hide' и 'toggle'. Это будет очень полезно в ситуации, когда вы просто хотите анимировать свойство от его текущего значения до начального значения и наоборот.

<script type="text/javascript">
  $(document).ready(function(){
    $("button").click(function(){
      $(".box").animate({
        width: 'toggle'
      });
    });
  });
</script>

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*