監聽css3動畫結束事件-webkitAnimationEnd

當css3的animation完成一個動畫,咱們想讓動畫保持在終止的狀態或其餘一些事件,要怎麼作呢javascript

咱們能夠監聽 webkitAnimationEnd 事件就能夠css

// 動畫結束時事件
o.addEventListener("webkitAnimationEnd", function() {
    console.log("動畫結束");
})

 

-webkit-animation動畫有三個事件:html

開始事件: webkitAnimationStart
結束事件:  webkitAnimationEnd
重複運動事件: webkitAnimationIterationjava

// 動畫開始時事件
o.addEventListener("webkitAnimationStart", function() {
    console.log("動畫開始");
})
// 動畫重複運動時事件
o.addEventListener("webkitAnimationIteration", function() {
    console.log("動畫重複運動");
})
// 動畫結束時事件
o.addEventListener("webkitAnimationEnd", function() {
    console.log("動畫結束");
})

示例:css3

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>webkitAnimationEnd</title>
<style type="text/css">
#div1{
    margin: 200px auto 0;
    width: 200px;
    height: 200px;
    color: #fff;
    background-color: #000;
    -webkit-animation: transform 3s 2 ease;
}
@-webkit-keyframes transform {
    0%{
        -webkit-transform: scale(1) rotate(50deg);
    }
    30%{
        -webkit-transform: scale(2) rotate(100deg);
    }
    6%{
        -webkit-transform: scale(0.5) rotate(-100deg);
    }
    100%{
        -webkit-transform: scale(1) rotate(0);

    }
}
</style>
</head>
<body>
<div id="div1"></div>
<script type="text/javascript">
var o = document.getElementById("div1");
// 動畫開始時事件
o.addEventListener("webkitAnimationStart", function() {
    alert("動畫開始");
})
// 動畫重複運動時事件
o.addEventListener("webkitAnimationIteration", function() {
    alert("動畫重複運動");
})
// 動畫結束時事件
o.addEventListener("webkitAnimationEnd", function() {
    this.className = "";
    alert("動畫結束");
})
</script>
</body>
</html>

 

css3的過渡屬性transition,在動畫結束時,也存在結束的事件:webkitTransitionEndweb

注意:transition 僅有這一個事件chrome

相關文章
相關標籤/搜索