эта штука сводит меня с ума.
У меня есть такая анимация:
.animated-debug {
-webkit-animation-duration: 5s;
animation-duration: 5s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
@-webkit-keyframes bounceInAlt {
from, 70%, to {
-webkit-animation-timing-function: cubic-bezier(0.215, 0.6, 0.355, 1);
animation-timing-function: cubic-bezier(0.215, 0.6, 0.355, 1);
}
0% {
opacity: 0;
-webkit-transform: scale3d(0, 0, 0);
transform: scale3d(0, 0, 0);
}
70% {
-webkit-transform: scale3d(1.01, 1.01, 1.01);
transform: scale3d(1.01, 1.01, 1.01);
}
to {
opacity: 1;
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
@keyframes bounceInAlt {
from, 70%, to {
-webkit-animation-timing-function: cubic-bezier(0.215, 0.6, 0.355, 1);
animation-timing-function: cubic-bezier(0.215, 0.6, 0.355, 1);
}
0% {
opacity: 0;
-webkit-transform: scale3d(0, 0, 0);
transform: scale3d(0, 0, 0);
}
70% {
-webkit-transform: scale3d(1.01, 1.01, 1.01);
transform: scale3d(1.01, 1.01, 1.01);
}
to {
opacity: 1;
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
.bounce-in-alt {
-webkit-animation-name: bounceInAlt;
animation-name: bounceInAlt;
}
и это javascript для получения события окончания анимации:
$("#my_id").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() {
console.info("Entrato in animation end.");
});
Проблема здесь в том, что это событие срабатывает до того, как анимация действительно закончится, я бы ожидал, что оно сработает через 5 секунд продолжительности и только один раз, вместо этого он срабатывает через одну секунду после начала анимации и несколько раз.
Что я делаю не так?
РЕДАКТИРОВАТЬ
После тестирования некоторых решений выяснилось, что проблема привела к использованию:
document.addEventListener("DOMContentLoaded", function() { ... });
в качестве оболочки для сценария, вместо этого используйте jQuery:
$(document).ready(function() { ... });
как обертка полностью решила проблему.
Действительно необычное поведение, у некоторых других была такая же проблема?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я сделал jsfiddle, и ваш код мне подходит, см. https://jsfiddle.net/qt8znvsx/4/. Я не уверен, правильный ли HTML, потому что вы не дали его нам. Не могли бы вы взглянуть, пожалуйста?
<div id = "my_id">
<div class = "animated-debug bounce-in-alt">
Helloo is it me? You're looking for
</div>
</div>
Я тестировал это в Chrome и Firefox.
После некоторого тестирования выяснилось, что проблема была связана с использованием document.addEventListener ("DOMContentLoaded", function () {... вместо $ (document) .ready (function () {... для упаковки остальной части скрипта странное и неожиданное поведение