色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

css 動畫結果不復原

林雅南2年前8瀏覽0評論

最近,在我的網站上添加了一些CSS動畫效果。然而,我發現一個問題:當我通過滾動網頁使動畫消失之后,重新回到該部分時,動畫效果并沒有重新啟動。

經過一些調查,我發現這是因為CSS動畫是通過添加一個類來實現的,當動畫結束時,該類會被移除。但是,如果用戶滾動了頁面,而新加載的部分中沒有該類,那么動畫不會被重新啟動。

.animation {
animation: example 1s;
}
@keyframes example {
0% { opacity: 0; }
100% { opacity: 1; }
}

解決這個問題的一個常見方法是使用JavaScript,例如,在滾動到該部分時,檢查是否已存在相應的類,并將其添加回來。這將確保動畫能夠重新啟動。

var element = document.querySelector(".animation");
function restartAnimation() {
element.classList.remove("animation");
void element.offsetWidth;
element.classList.add("animation");
}
window.addEventListener("scroll", function() {
if (isElementInViewport(element)) {
if (!element.classList.contains("animation")) {
restartAnimation();
}
}
});
function isElementInViewport(el) {
var rect = el.getBoundingClientRect();
return (
rect.top >= 0 &&
rect.left >= 0 &&
rect.bottom<= (window.innerHeight || document.documentElement.clientHeight) &&
rect.right<= (window.innerWidth || document.documentElement.clientWidth)
);
}

此代碼將檢查動畫所在部分是否在視口中,并在需要時重新啟動動畫。

在設計動畫時,應該始終考慮這些問題,確保在用戶滾動并重新加載部分時,動畫可以重新啟動。