Давайте рассмотрим, как можно создать HTML анимацию при помощи JavaScript.
Базовая веб-страница
Чтобы продемонстрировать создание HTML анимации с JavaScript, мы будем использовать следующую простенькую веб-страницу:
<!DOCTYPE html>
<html>
<body>
<h1>Моя первая JavaScript анимация</h1>
<div id="animation">Моя анимация будет происходить здесь</div>
</body>
</html>
Контейнер для анимации
Вся анимация должна происходить относительно к элементу-контейнеру.
<div id="container">
<div id="animate">Моя анимация будет происходить здесь</div>
</div>
Стили для элементов
Элемент-контейнер должен быть создан со стилем "position: relative".
Элемент, где будет происходить анимация, должен быть создан со стилем "position: absolute".
#container {
width: 400px;
height: 400px;
position: relative;
background: yellow;
}
#animate {
width: 50px;
height: 50px;
position: absolute;
background: red;
}
Код анимации
Анимация JavaScript осуществляется путем программирования последовательных изменений стиля элемента.
Изменения вызываются по таймеру. Когда интервал таймера мал, анимация выглядит непрерывной.
Базовый код:
var id = setInterval(frame, 5);
function frame() {
if (/* проверка для завершения */) {
clearInterval(id);
} else {
/* код, изменяющий стиль элемента */
}
}
Создание анимации при помощи JavaScript
function myMove() {
var elem = document.getElementById("animate");
var pos = 0;
var id = setInterval(frame, 5);
function frame() {
if (pos == 350) {
clearInterval(id);
} else {
pos++;
elem.style.top = pos + 'px';
elem.style.left = pos + 'px';
}
}
}