• 监听css3的animation动画和transition事件


    webkit-animation动画有三个事件:

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

    css3的过渡属性transition,在动画结束时,也存在结束的事件:webkitTransitionEnd

    注意:transition 仅有这一个事件


    var o = document.getElementById("div1");
    // 动画开始时事件
    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;
         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>
    
  • 相关阅读:
    Vue异步数据交互 promise axios async fetch
    JS数组或对象转为JSON字符换 JavaScript JSON.stringify()
    JS返回数组的最大值与最小值
    Error: Cannot find module './application'
    Express框架
    NodeJS项目制作流程
    模板引擎art-template
    基于NodeJS的网络响应原理与HTTP协议
    leetcode 953. 验证外星语词典 做题笔记
    leetcode 771. 宝石与石头 做题笔记
  • 原文地址:https://www.cnblogs.com/both-eyes/p/10078583.html
Copyright © 2020-2023  润新知