При нажатии на картинку она должна сдвинуться вниз на и вернуться js
Нужен код анимации на JavaScript При нажатии на картинку она должна сдвинуться вниз на 200px и вернуться обратно
Источник: Stack Overflow на русском
Нужен код анимации на JavaScript При нажатии на картинку она должна сдвинуться вниз на 200px и вернуться обратно
Я бы сделал так.
document.querySelector('#btn').addEventListener('click', function(event) { // Вешаем клик
// Проверяем статус disabled, чтобы анимация не запускалась ещё раз
// при нажатии на кнопку в момент анимации
if(event.target.disabled === false) {
event.target.disabled = true; // Когда запускам, запрещаем нажатие классом disabled
event.target.style.transform = 'translateY(200px)'; // Меняем стили
event.target.addEventListener('transitionend', function() { // Когда кнопка уйдёт вниз, сработает этот ивент
event.target.style.transform = ''; // Тут мы уберём трансформ и анимация запустится в обратную сторону
event.target.addEventListener('transitionend', function() { // Когда анимация закончится, запустится эта
event.target.disabled = false; // Тут мы уже снимаем нажатие
}, {once: true});
}, {once: true});
}
});
#btn {
transition: transform .5s ease;
/* Важный момент, должен присутствовать transition-duration, иначе скрипт будет работать некорректно. */
}
<button id="btn">Нажми меня</button>
Подробнее в комментариях к коду.