animate.css 动画插件的使用

官网:https://daneden.github.io/animate.css/

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.2/animate.min.css">
    <style>
        #boxOne {
          width: 100px;
          height: 100px;
          background: paleturquoise;
          margin: 100px auto;
        }

        #box {
          width: 100px;
          height: 100px;
          background: paleturquoise;
          margin: 100px auto;
        }
        .container{
            text-align: center;
        }
    </style>
</head>
<body>
    <div id="boxOne"  class="animated bounce">页面加载就触发动画</div>
    <hr/>
    <div id="box">单击事件动画</div>
    <div class="container"><button id="btn">点击触发动画</button></div>


    <script>
        function animateCss(element, animationName, callback) {

          /* 获取传过来的 */
          const node = document.querySelector(element);

          /* 给元素加上基础类animated,还有动画类 */
          node.classList.add('animated', animationName);

          function handleAnimationEnd() {

            /* 移除基础类和动画类 */
            node.classList.remove('animated', animationName);

            /* 解除当前元素的事件监听 */
            node.removeEventListener('animationend', handleAnimationEnd);    /* 如果有回调函数,就执行回调函数 */

            if (typeof callback === 'function') callback();
          }

          /* 通过事件监听,当动画结束后,执行handleAnimationEnd函数 */
          node.addEventListener('animationend', handleAnimationEnd);

        }

          /*点击按钮后触发animateCss函数*/
        btn.onclick = function() {
          animateCss('#box', 'rubberBand')
        };
    </script>
</body>
</html>

 

posted @ 2020-03-11 07:36  最好的安排  阅读(854)  评论(0编辑  收藏  举报

Knowledge is infinite