zoukankan      html  css  js  c++  java
  • CSS3动画效果——js调用css动画属性并回调处理详解

    http://www.jb51.net/css/258407.html

    这篇文章主要详细介绍了CSS3动画效果回调处理,需要的朋友可以参考下

    我们在做js动画的时候,很多时候都需要做回调处理,如在一个动画完成后触发一个事件、一个动画完成后执行另外一个动画等等,但在使用CSS3动画时能不能捕获到运动的状态做回调处理呢?

    CSS3动画也是可以做回调处理的,这里分为两个属性,一个是transition[w3c文档],另外一个是animation[w3c文档]。

    1、transition

    对于transition,可以监听transitionend事件,当动画完成时触发,可以这样使用:

    代码如下:


    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>css3-transitionend - BeyondWeb</title>
    <style>
    * {margin: 0; padding: 0;}
    .rect {
    100px;
    height: 100px;
    background-color: #f80;
    -webkit-transition: all .5s;
    }
    </style>
    <script>
    window.onload = function () {
    var _rect = document.querySelector('.rect');
    _rect.onclick = function () {
    _rect.style.webkitTransform = 'translateX(300px)';
    }</p> <p> _rect.addEventListener('webkitTransitionEnd', function () {
    alert('动画执行完毕!');
    // callback here
    }, false);
    }
    </script>
    </head>
    <body>
    <div class="rect"></div>
    </body>
    </html>

    2、animation

    对于animation我们可以监听animationend事件,示例代码如下:

    复制代码
    代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>css3-animationend - BeyondWeb</title>
    <style>
    * {margin: 0; padding: 0;}
    .rect {
    position: relative;
    100px;
    height: 100px;
    background-color: #f80;
    }</p> <p> @-webkit-keyframes move {
    from {
    -webkit-transform: rotate(0);
    }
    to {
    -webkit-transform: rotate(360deg);
    }
    }
    </style>
    <script>
    window.onload = function () {
    var _rect = document.querySelector('.rect');
    _rect.onclick = function () {
    _rect.style.webkitAnimation = 'move 3s';
    }</p> <p> _rect.addEventListener('webkitAnimationEnd', function () {
    alert('动画执行完毕!');
    // callback here
    }, false);
    }
    </script>
    </head>
    <body>
    <div class="rect"></div>
    </body>
    </html>

    以上就是关于CSS3动画回调处理的一些内容,最近在做H5页面时用到了,总结一下。

  • 相关阅读:
    12.12 怀北滑雪场滑雪记
    datetime类型offset-aware与offset-navie
    Django-models中的choise
    什么是__name__()
    单机Ubuntu安装第二个Mysql服务
    Ubuntu下的Python安装
    设置mysql允许外网访问
    Ubuntu初次设置root密码
    使用VMware+Ubuntu,无法切换大小写的异常处理
    XShell/Xftp 无法连接 Ubuntu20
  • 原文地址:https://www.cnblogs.com/koleyang/p/5478104.html
Copyright © 2011-2022 走看看