Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
<!DOCTYPE HTML>
<html class="reftest-wait">
<style>
body { padding: 50px }
#grandparent { perspective: 400px }
@keyframes spin {
0%, 85% { transform: rotateX(-45deg) rotateY(-45deg) rotateZ(-45deg); }
90%, 100% { transform: rotateX(-30deg) rotateY(-30deg) rotateZ(-30deg); }
}
#parent {
background: blue;
height: 200px; width: 200px;
border: 1px solid black;
transform-style: preserve-3d;
/* use a -99.9s delay to start at 99.9% and then move to 0% */
animation: spin 100s -99.9s linear 2 paused;
}
#child {
transform: translateZ(15px);
height: 100px; width: 100px; margin: 50px;
background: yellow;
box-shadow: 3px 3px olive;
}
</style>
<div id="grandparent">
<div id="parent">
<div id="child">
</div>
</div>
</div>
<script>
document.getElementById("parent").addEventListener("animationstart", StartListener);
function StartListener(event) {
var test = document.getElementById("parent");
test.style.animationPlayState = 'running';
test.addEventListener("animationiteration", IterationListener);
}
function IterationListener(event) {
setTimeout(RemoveReftestWait, 0);
}
function RemoveReftestWait() {
document.documentElement.classList.remove("reftest-wait");
}
</script>