• js监听css3动画


    在做前端页面时,如果一个页面有多套动画特效依次播放。我们一般采用setTimeout延时,就可以完美解决动画依次执行的效果,但存在以下问题:
    1、如果动画很多的话会让人感觉很累,因为每个动画动摇计算前方动画所运行的时间。
    2、如果中间某个动画的运行时间进行修改的话,后面所有的动画都需要修改。

    所以,在使用JS控制动画时一般需要在动画结束后执行回调去进行DOM的相关操作,所以需要监听动画结束进行回调。JS提供了以下事件用于监听动画的结束:

    CSS 动画播放时,会发生以下三个事件:
    animationstart -CSS 动画开始后触发
    animationiteration - CSS 动画重复播放时触发
    animationend - CSS 动画完成后触发
    代码如下:

    
    var monkey = document.querySelector("#monkey");
    
    
    monkey.addEventListener("animationstart",function(e){
        console.log("start");
    },false);
    
    
    monkey.addEventListener("animationiteration",function(e){
        console.log("");
    },false);
    
    
    monkey.addEventListener("animationend",function(e){
        console.log("end");
    },false);
    

    不同的浏览器要求使用不同的前缀:

    No prefix - animationstart, animationiteration, animationend
    Webkit - webkitAnimationStart, webkitAnimationIteration, webkitAnimationEnd
    Mozilla - mozAnimationStart, mozAnimationIteration, mozAnimationEnd
    MS - MSAnimationStart, MSAnimationIteration, MSAnimationEnd
    O – oAnimationStart, oAnimationIteration, oAnimationEnd

  • 相关阅读:
    51 数据中重复的数字
    64 数据流中的中位数
    79. Word Search
    93. Restore IP Addresses
    547. Friend Circles
    Epplus Excel 导入 MSSQL 数据库
    用来更新服务的bat 脚本
    ASP.Net MVC 引用动态 js 脚本
    8、结构的构造器应该显式调用!!!(坑)
    Task 线程重用导致等待!
  • 原文地址:https://www.cnblogs.com/shemingxin/p/12813708.html
Copyright © 2020-2023  润新知