这年头,客户的需求是多种多样,有时候他们希望增加一下动画特效来提升用户体验,吸引用户注意力。
然而除了做一些比较重要的项目以外,我一般情况下很少会单独去做动画效果,毕竟有时候是需要保证工作效率的。
既然从零开始写动画麻烦,那我们是不是可以用一些现成的东西,这里就介绍一下使用wow和animate.css实现滚动触发动画特效。
准备工作:
WOW
下载地址: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代码:
<script type="text/javascript"> var wow = new WOW({ boxClass: 'wow', animateClass: 'animated', offset: 0, mobile: true, live: true }); wow.init(); </script>
配置如图:
有的网站采用全屏滚动的fullpage插件与wow相结合的方法,实现的效果比较酷炫。我们完全可以仿写。
但是使用fullpage.js下wow.js无效失效没动作
问题出在fullpage隐藏了滚动条,将滚动条开启即可,把scrollBar设置为true,代码如下
$('#fullpage').fullpage({ scrollBar:true; });
最后利用css将滚动条隐藏,将html添加overflowhidden,代码如下
html{ overflow:hidden; }