wowjs动画库

介绍

一款极简的动画小插件,依赖 animate.css,支持 animate.css 多达 60 多种的动画效果
animate官网

兼容性

image
IE6、IE7 等老浏览器不支持 CSS3 动画,所以没有效果;而 wow.js 也使用了 querySelectorAll 方法,IE 低版本会报错

使用

1. animate.css引入

<link rel="stylesheet" type="text/css" href="animate.min.css">

2. wow.js或者wow.mim.js引入,并初始化

<script type="text/javascript" src="js/wow.min.js"></script>
<script type="text/javascript">
    new WOW().init();//WOW要大写
</script>

如果需要自定义配置,可如下使用:

<script>
var wow = new WOW({
    boxClass: 'wow',
    animateClass: 'animated',
    offset: 0,
    mobile: true,
    live: true
});
wow.init();
</script>

image

3. 使用

写html代码(必须设置为块状或者行内块状),并添加class类名

<div class="wow slideInLeft"></div>

当然,也可以加入如下属性:
data-wow-duration(动画持续时间) 以秒/s为单位
data-wow-delay(动画延迟时间) 以秒/s为单位
data-wow-offset(元素的位置露出后距离底部多少像素执行),元素顶部偏离可视区(容器)底部动画出现的距离(用于设置动画在页面的出场位置)
data-wow-iteration(动画执行次数)值是纯数字,infinite表示循环播放

参考常见属性

image
image

测试用例

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>wow</title>
  <link href="animate.css" rel="stylesheet">
  <style>
    .container {
      width: 800px;
      margin: 0 auto;
    }

    .container ul {
      display: flex;
      display: -webkit-flex;
      justify-content: space-between;
      flex-wrap: wrap;
    }

    .container ul li {
      width: 300px;
      height: 300px;
      margin-bottom: 40px;
      list-style: none;
      border-radius: 50%;
      text-align: center;
      vertical-align: middle;
      align-items: center;
      line-height: 300px;
      background-color: pink;
      display: block;
    }

    .container ul li:nth-child(4n) {
      background-color: #409EFF;
    }

    .container ul li:nth-child(4n+1) {
      background-color: #67C23A;
    }

    .container ul li:nth-child(4n+2) {
      background-color: #E6A23C;
    }
  </style>
</head>
<body>
<section class="container">
  <ul>
    <li class="wow bounceInLeft" data-wow-iteration="infinite">1</li>
    <li class="wow bounceInRight" data-wow-iteration="infinite">2</li>
    <li class="wow bounceIn" data-wow-iteration="infinite">3</li>
    <li class="wow bounceInUp" data-wow-iteration="infinite">4</li>
    <li class="wow bounceInDown" data-wow-iteration="infinite">5</li>
    <li class="wow slideInUp" data-wow-iteration="infinite">6</li>
    <li class="wow slideInDown" data-wow-iteration="infinite">7</li>
    <li class="wow slideInLeft" data-wow-iteration="infinite">8</li>
    <li class="wow slideInRight" data-wow-iteration="infinite">9</li>
    <li class="wow lightSpeedIn" data-wow-iteration="infinite">10</li>
    <li class="wow pulse" data-wow-iteration="infinite">11</li>
    <li class="wow flipInX" data-wow-iteration="infinite">12</li>
    <li class="wow flipInY" data-wow-iteration="infinite">13</li>
    <li class="wow bounce" data-wow-iteration="infinite">14</li>
    <li class="wow shake" data-wow-iteration="infinite">15</li>
    <li class="wow wobble" data-wow-iteration="infinite">16</li>
    <li class="wow rollIn" data-wow-iteration="infinite">16</li>
    <li class="wow fadeInUpBig" data-wow-delay="0.3s" data-wow-iteration="infinite">18</li>
    <li class="wow fadeInUpBig" data-wow-delay="0.6s">19</li>
    <li class="wow fadeInUpBig" data-wow-delay="0.9s">20</li>
    <li class="wow fadeInUpBig" data-wow-delay="1.2s">21</li>
    <li class="wow fadeInUpBig" data-wow-delay="1.5s">22</li>
  </ul>
</section>
<script src="wow.min.js"></script>
<script>
  new WOW().init();
</script>
</body>
</html>

posted @ 2023-12-18 14:39  songxia777  阅读(12)  评论(0编辑  收藏  举报