• 监听css3动画结束事件-webkitAnimationEnd


    当css3的animation完成一个动画,我们想让动画保持在终止的状态或其他一些事件,要怎么做呢

    我们可以监听 webkitAnimationEnd 事件就可以

    // 动画结束时事件
    o.addEventListener("webkitAnimationEnd", function() {
        console.log("动画结束");
    })

    -webkit-animation动画有三个事件:

    开始事件: webkitAnimationStart
    结束事件:  webkitAnimationEnd
    重复运动事件: webkitAnimationIteration

    // 动画开始时事件
    o.addEventListener("webkitAnimationStart", function() {
        console.log("动画开始");
    })
    // 动画重复运动时事件
    o.addEventListener("webkitAnimationIteration", function() {
        console.log("动画重复运动");
    })
    // 动画结束时事件
    o.addEventListener("webkitAnimationEnd", function() {
        console.log("动画结束");
    })

    示例:

    <!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,在动画结束时,也存在结束的事件:webkitTransitionEnd

    注意:transition 仅有这一个事件

  • 相关阅读:
    2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 (B,F,L,M)
    Coderfroces 862 C. Mahmoud and Ehab and the xor
    [CQOI 2015] 任务查询系统
    [POI 2014] Couriers
    [POJ 2104] K-th Number
    [模板] 可持久化数组
    [AHOI 2006] 上学路线
    [SCOI2009] 生日礼物
    [BZOJ 3436] 小K的农场
    [USACO2007 Demo] Cow Acrobats
  • 原文地址:https://www.cnblogs.com/jseden/p/4185137.html
Copyright © 2020-2023  润新知