使用wow.js打造生动有趣的网页,了解它的原理和使用方法
如何使用?
1、wow.js依赖于animate.css,首先在头部引用animate.css或者animate.min.css。
<link rel="stylesheet" type="text/css" href="css/animate.min.css">
2、在最底部或引入的css下面引用wow.js或者wow.min.js,然后再下面再写一行javascript代码。(无需引用jquery)。
<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>
相关参数说明:
3、写html代码(必须设置为块状或者行内块状),并添加class类名。
<div class="wow slideInLeft"></div>
另外可以加入 data-wow-duration(动画持续时间)、 data-wow-delay(动画延迟时间)、data-wow-offset(元素的位置露出后距离底部多少像素执行)、data-wow-iteration(动画执行次数)属性 (可选可不选),如:
<div class="wow slideInLeft" data-wow-duration="2s" data-wow-delay="5s" data-wow-offset="10" data-wow-iteration="10"></div>
下表为部分对应类名及其效果:
类名 | 动画效果 |
---|---|
wow slideInUp | 从下往上、上来后固定到设定位置、透明度为设定值不变(up是从下往上)(如果元素在最下面,会撑开盒子高度) |
wow slideInDown | 从上往下、上来后固定到设定位置、透明度为设定值不变 |
wow slideInLeft | 从左往右、上来后固定到设定位置、透明度为设定值不变(left却是从左往右) |
wow slideInRight | 从右往左、上来后固定到设定位置、透明度为设定值不变 |
wow rollIn | 从左到右、顺时针滚动、透明度从100%变化至设定值 |
wow bounceIn | 从原位置出现,由小变大超出设定值,再变小小于设定值,再回归设定值、透明度从100%变化至设定值 |
wow bounceInUp | 从下往上、窜上来以后会向上超出一部分然后弹回去、透明度为设定值不变 |
wow bounceInDown | 从上往下、掉下来以后会向下超出一部分然后弹跳一下、透明度为设定值不变 |
wow bounceInLeft | 从左往右、移过来以后会向右超出一部分然后往左弹一下、透明度为设定值不变 |
wow bounceInRight | 从右往左、移过来以后会向左超出一部分然后往右弹一下、透明度为设定值不变 |
wow lightSpeedIn | 从右往左、头部先向右倾斜,又向左倾斜,最后变为原来的形状、透明度从100%变化至设定值 |
wow pulse | 原位置放大一点点在缩小至原本大小、透明度为设定值不变(配合动画执行次数属性效果更佳) |
wow flipInX | 原位置后仰前栽、透明度从100%变化至设定值 |
wow flipInY | 原位置左右旋动、透明度从100%变化至设定值 |
wow bounce | 上下抖动、透明度为设定值不变(配合动画执行次数和动画持续时间属性可以实现剧烈抖动亦或是慢慢抖) |
wow shake | 左右抖动、透明度为设定值不变(配合动画执行次数和动画持续时间属性可以实现剧烈抖动亦或是慢慢抖) |
wow swing | 从右往左、头部先向右倾斜,又向左倾斜,最后变为原来的形状、透明度为设定值不变 |
wow bounceInU | 原位置不变、直接从不显示到显示(无过过渡效果) |
wow wobble | 原位置不变、类似于一个人站在那左右晃头、透明度为设定值不变 |
测试–示例:
<!DOCTYPE html>
<html>
<head>
<title>wow演示</title>
<meta charset="utf-8">
<!-- 1.引入wow依赖的animate.css -->
<link href="css/animate.css" rel="stylesheet" type="text/css">
<!-- 2.引入wow.js 文件 -->
<script type="text/javascript" src="js/wow.js"></script>
<!-- 3.now 对象 -->
<script type="text/javascript">
new WOW().init();
// 可选的参数
// wow = new WOW({
// boxClass: 'wow', //WOW.js需要执行动画的元素的class
// animateClass: 'animated', //animation.css 动画的 class
// offset: 0, //距离可视区域多少开始执行动画
// mobile: true, //是否在移动设备上执行动画
// live: true //异步加载的内容是否有效
// })
// wow.init();
</script>
</head>
<body>
<div class="wow slideInLeft" data-wow-duration="3s" data-wow-delay="1s" data-wow-offset="1000" data-wow-iteration="1" style="width: 500px;height: 1000px;background-color: #ccc;position: absolute;left: 50%;margin-top: 0px;margin-left: -250px;margin-bottom: 50px">
wow 动画演示
</div>
</body>
</html>
animate.css:https://animate.style/
WOW.js:https://wowjs.uk/