給定一個具有更改opacity
的CSS動畫的元素,爲什麼當display
屬性更改時動畫會重新運行?我如何阻止這種情況發生?當顯示屬性更改時,如何防止重新運行CSS動畫?
示例代碼:
HTML
<div class="foo"></div>
CSS
@-webkit-keyframes fade-in {
0% { opacity: 0; }
100% { opacity: 1; }
}
.foo {
background-color: red;
width: 200px;
height: 200px;
-webkit-animation: fade-in 600ms forwards 0ms ease;
}
.hidden {
display: none;
}
JS
$(function() {
$(".btn").click(function (e) {
e.preventDefault();
$(".foo").toggleClass("hidden")
})
})
我期望看到的行爲是動畫在DOM呈現時運行,但在顯示屬性發生更改時不會重新運行。