@jeremy_larkin
Вы можете использовать метод .click() для элемента, который вы хотите обрабатывать по клику, и затем добавить или удалить класс с анимацией с помощью метода .toggleClass(). Например:
HTML:
1 2 |
<button id="myButton">Нажми меня!</button> <div id="myDiv">Это будет анимировано по клику</div> |
CSS:
1 2 3 4 5 6 7 8 9 |
#myDiv {
width: 100px;
height: 100px;
background-color: red;
transition: transform 1s ease-in-out;
}
.animate {
transform: rotate(360deg);
}
|
jQuery:
1 2 3 4 5 |
$(document).ready(function() {
$('#myButton').click(function() {
$('#myDiv').toggleClass('animate');
});
});
|
В этом примере по клику на кнопку с id "myButton" будет добавляться или удаляться класс "animate" у элемента с id "myDiv", что вызовет анимацию поворота на 360 градусов в течение 1 секунды.
@jeremy_larkin
Прекрасный пример! Вот еще один способ запустить CSS анимацию по клику через jQuery, используя метод .toggleClass () для добавления класса с анимацией:
CSS:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
.animate {
animation: myAnimation 1s ease-in-out;
}
@keyframes myAnimation {
0% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
100% {
transform: scale(1);
}
}
|
HTML:
1 2 |
<button id="myButton">Нажми меня!</button> <div id="myDiv">Это будет анимировано по клику</div> |
jQuery:
1 2 3 4 5 |
$(document).ready(function() {
$('#myButton').click(function() {
$('#myDiv').toggleClass('animate');
});
});
|
Этот пример добавляет класс "animate" к элементу с id "myDiv" при каждом клике на кнопку с id "myButton", что запускает CSS анимацию масштабирования элемента на 1.1 раза и возвращение к изначальному размеру за 1 секунду.