Вы можете использовать событие animationend
для сброса анимации.
Событие animationend
вызывается, когда анимация CSS завершена (но не, если оно прерывается до достижения завершения, например,если элемент становится невидимым или анимация удаляется из элемента).
В этой демонстрации вы заметите, что я не использую анонимные функции.С анонимными функциями мы в конечном итоге переопределяем функцию снова и снова, а это не то, что вы хотите от производительности.Используя функциональную ссылку, мы объявляем функцию один раз и привязываем к ней событие.
const btn = document.querySelector(".myButton");
const guardadoC = document.getElementById("guardadoC");
btn.addEventListener("click", clientedetail);
function clientedetail() {
guardadoC.innerHTML = "Guardado.";
guardadoC.style.cssText = "animation: background-fade 3s;padding:5px;";
}
function resetAnimation() {
guardadoC.innerHTML = "";
guardadoC.style.cssText = "";
}
guardadoC.addEventListener("animationend", resetAnimation);
@keyframes background-fade {
0% {
background-color: green;
}
100% {
background-color: none;
}
}
<input type="button" class="myButton">
<div id="guardadoC"></div>
jsFiddle
Подробнее об анимации