针对鸡西中小企业的网站建设,网页制作,网站优化(seo/sem),网站改版等业务定制最佳解决方案的工作室.QQ:331148(7*24H免费咨询)
本页定位

Wow.js页面滚动时让元素动起来

臭保安👮2.57k0 去下载A+A-

⚠️ © 软件著作权归作者所有;本站所有软件均来源于网络,仅供学习使用,请支持正版!

Wow.js页面滚动时让元素动起来

在浏览一些网站的时候,总是能遇到一些页面元素随着滚动而出现的动画功能,引起了鸡西网站开发的设计人员的兴趣。有意把鸡西网站制作的页面也加上动画功能,针对使用性,轻量性,进行了一番探索。

Wow.js,外国人的作品,专门针对页面滚动时加载动画而写出的原生Javascript产物(不依赖Jquery),其动画效果需配合Animate.css产生。以下是鸡西网站设计在实际使用中整理的Wow.js实用性教程,如果有说错的地方,欢迎各路大神不吝赐教。

wow.js效果演示

1、引入必要文件

[01]引入animate.css

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

[02]引入wow.js

<script type="text/javascript" src="wow.js"></script>

[03]为wow.js加入初始化代码

<script type="text/javascript">
    new WOW().init();
</script>

* 这两个文件可以放在页面源码中的任何位置调用,wow.js不依赖于jquery。当然,还是要遵守一些前端潜规则^_^

2、配置wow.js

[01]如在制作网站时对项目需要个性化配置,可以将初始化代码修改成以下内容,并根据相关说明详细配置

<script type="text/javascript">
    var wow = new WOW({
        boxClass:     "wow",
        animateClass: "animated",
        offset:       0,
        mobile:       true,
        live:         true,
        callback:     function(box) {},
        scrollContainer: null
    });
    wow.init();
</script>
wow.js变量参数属性说明
属性/方法 类型 默认值 说明
boxClass 字符串 “wow” 需要执行动画元素的 class
animateClass 字符串 “animated” 动画库的 class
offset 整数 0 距离可视区域多少开始执行动画
mobile 布尔值 true 是否允许在移动设备上执行动画
live 布尔值 true 页面中异步加载的内容是否有效
callback 函数 function(box) 每次启动动画时都会触发回调的函数,传入的参数为正在运动的DOM节点
scrollContainer 字符串 null 可选择滚动容器选择器,不选择使用窗口(body)

[02]在css下方js上方为元素添加class类名

需要添加动画效果的元素必须为块状display:block或者行内块状display:inline-block,基本添加方法,如下所示:

<section class="wow slideInLeft" data-wow-duration="2s" data-wow-delay="5s" data-wow-offset="10"  data-wow-iteration="10"></section&gt;

详解:类名前面的wow是每一个需要添加动画的元素都要加的,slideInLeft就是说明动画样式。后面的data-wow-duration(动画持续时间)、data-wow-delay(动画延迟时间)、data-wow-offset(元素的位置露出后距离底部多少像素执行)和data-wow-iteration(动画执行次数)这四个属性可选可不选。

属性 说明
data-wow-duration 动画持续时间
data-wow-delay 动画延迟时间
data-wow-offset 元素的位置出现后距离底部多少像素执行
data-wow-iteration 动画执行次数

以下是Animate.css常用的动画效果介绍,更多效果可前往Animate.css查看演示。

类名 说明
wow rollIn 从左到右、顺时针滚动、透明度从100%变化至设定值
wow bounceIn 从原位置出现,由小变大超出设定值,再变小小于设定值,再回归设定值、透明度从100%变化至设定值
wow bounceInUp 从下往上、窜上来以后会向上超出一部分然后弹回去、透明度为设定值不变
wow bounceInDown 从上往下、掉下来以后会向下超出一部分然后弹跳一下、透明度为设定值不变
wow bounceInLeft 从左往右、移过来以后会向右超出一部分然后往左弹一下、透明度为设定值不变
wow bounceInRight 从右往左、移过来以后会向左超出一部分然后往右弹一下、透明度为设定值不变
wow slideInUp 从下往上、上来后固定到设定位置、透明度为设定值不变(up是从下往上)(如果元素在最下面,会撑开盒子高度)
wow slideInDown 从上往下、上来后固定到设定位置、透明度为设定值不变
wow slideInLeft 从左往右、上来后固定到设定位置、透明度为设定值不变(left却是从左往右)
wow slideInRight 从右往左、上来后固定到设定位置、透明度为设定值不变
wow lightSpeedIn 从右往左、头部先向右倾斜,又向左倾斜,最后变为原来的形状、透明度从100%变化至设定值
wow pulse 原位置放大一点点在缩小至原本大小、透明度为设定值不变(配合动画执行次数属性效果更佳)
wow flipInX 原位置后仰前栽、透明度从100%变化至设定值
wow flipInY 原位置左右旋动、透明度从100%变化至设定值
wow bounce 上下抖动、透明度为设定值不变(配合动画执行次数和动画持续时间属性可以实现剧烈抖动亦或是慢慢抖)
wow shake 左右抖动、透明度为设定值不变(配合动画执行次数和动画持续时间属性可以实现剧烈抖动亦或是慢慢抖)
wow swing 从右往左、头部先向右倾斜,又向左倾斜,最后变为原来的形状、透明度为设定值不变
wow bounceInU 原位置不变、直接从不显示到显示(无过过渡效果)
wow wobble 原位置不变、类似于一个人站在那左右晃头、透明度为设定值不变

3、wow.js常见问题

为了写这篇wow.js的说明文章,鸡西做网站的设计人员专门测试了一下data-wow-offset和data-wow-iteration这两个属性,其中data-wow-offset=”数值”中的数值是动画完成后元素距离显示器底部的位置,而不是距离浏览器窗口底部的位置。


wow.js使用了querySelectorAll方法,IE低版本会报错。为了达到更好的兼容,最好加一个浏览器及版本判断。

<script src="wow.min.js"></script>

<script>
    if (!(/msie [6|7|8|9]/i.test(navigator.userAgent))){
        new WOW().init();
    };
</script>

有的网站采用全屏滚动的fullpage插件与wow相结合的方法,实现的效果比较酷炫,我们完全可以仿写。但是使用fullpage.js下wow.js无效失效没动作问题出在fullpage隐藏了滚动条,将滚动条开启即可,把scrollBar设置为true,代码如下:

$('#fullpage').fullpage({
    scrollBar:true;
});

最后利用css将滚动条隐藏,将html添加overflow:hidden,代码如下:

html{
    overflow:hidden;
}
资源下载此资源仅限注册用户下载,请先
技术交流QQ群 7717114
全部评论: 0
登录没有账号 切换注册

邮箱或名字

忘记密码 ?

用第三方帐号直接登录
注册已有账号 切换登录

请真实填写

注意:邮箱涉及账号安全,也是您在完善资料之前唯一的登陆凭证,请务必填写真实的常用邮箱