用wow.js实现页面滚动时触发animate.css动画特效
很高兴在2017/10/14发表了自己的第一个博客随笔,不管你们怎么想,我自己觉得逼格瞬间高了起来。哈哈哈,哈撒尅。
有时候项目需要一些动画来提升用户体验,吸引用户注意力。这时wow是个不错的选择
wow.js依赖animate.css,不需要jquery;animate.css是纯css动画
官网:http://mynameismatthieu.com/WOW/
建议去官网一看
bootstrap CDN服务:http://www.bootcdn.cn/wow/
当您滚动时显示动画。非常Animate.css朋友:-)
轻松自定义动画设置:样式,延迟,长度,偏移量,迭代...
下载地址:https://github.com/matthieua/WOW
使用步骤:
1、引入animate.css
<link rel="stylesheet" href="css/animate.css" />
2、引入wow.js
<script src="js/wow.min.js" type="text/javascript" charset="utf-8"></script>
3、启动new WOW().init();
<script type="text/javascript">
new WOW().init();
</script>
4、在需要动画的标签上面添加class 注:wow必须加在动画类名前面
<div class="wow bounce">
<p>完全契合0基础的学员</p>
<p>完全契合0基础的学员</p>
</div>
*动画效果展示网站:https://daneden.github.io/animate.css/
5.高级选项 注:为了更好的控制动画效果(属性)
<div class="wow bounce " data-wow-delay="1.5s" data-wow-iteration:"1">
<p>完全契合0基础的学员</p>
<p>完全契合0基础的学员</p>
</div>
data-wow-duration:更改动画持续时间
data-wow-delay:动画开始前的延迟
data-wow-offset:开始动画的距离(与浏览器底部相关)
data-wow-iteration:动画的次数重复(无限次:infinite)
上面的已经可以实现动画效果了,但是还有个问题,这些动画会在加载页面时一股脑触发,我们往往想要的是滚动到这里才开始触发。
我们可以使用自定义配置。
boxClass:用户滚动时显示隐藏框的类名。
animateClass:触发CSS动画的类名(animate.css库默认为“animated”)
偏移量:定义浏览器视口底部和隐藏框顶部之间的距离。
当用户滚动并到达这个距离时,隐藏的框被显示出来。
手机:在移动设备上打开/关闭WOW.js。
live:自动检查页面上的新WOW元素。
这时的JS代码:
var wow = new WOW({
boxClass: 'wow',
animateClass: 'animated',
offset: 0,
mobile: true,
live: true
});
wow.init();
配置如图:
有的网站采用全屏滚动的fullpage插件与wow相结合的方法,实现的效果比较酷炫。我们完全可以仿写。
但是使用fullpage.js下wow.js无效失效没动作
问题出在fullpage隐藏了滚动条,将滚动条开启即可,把scrollBar设置为true,代码如下
$('#fullpage').fullpage({
scrollBar:true;
});
最后利用css将滚动条隐藏,将html添加overflowhidden,代码如下
html{
overflow:hidden;
}
第一次随笔就到这里,下次再见。
转载请保留出处,谢谢