本文作者:DurkBlue

网站页面滚动加载动画JS特效制作

DurkBlue 2020-02-06 1837
网站页面滚动加载动画JS特效制作摘要: 终于尘埃落定了,前段时间忙的不可开交,私单,工作,因为年假因为武汉病毒感染的事情而延休,因为是个程序员,所以导致需要我在家里办公工作,今天抽空给大家带来了一个js特效,网站模块延迟...

终于尘埃落定了,前段时间忙的不可开交,私单,工作,因为年假因为武汉病毒感染的事情而延休,因为是个程序员,所以导致需要我在家里办公工作,今天抽空给大家带来了一个js特效,网站模块延迟加载的动画,假期之前就想着制作这个功能,页面滚动加载,看着很舒适,结果直到今天才算弄完。教程也是网上找的,我测试了好多个,还是感觉这个比较好。有兴趣的朋友可以测试下。

网站页面滚动加载动画JS特效制作  第1张

简介

和 WOW.js 一样,scrollReveal.js 也是一款页面滚动显示动画的 JavaScript,能让页面更加有趣,更吸引用户眼球。不同的是 WOW.js 的动画只播放一次,而 scrollReveal.js 的动画可以播放一次或无限次;WOW.js 依赖 animate.css,而 scrollReveal.js 不依赖其他任何文件。

虽然 scrollReveal.js 不依赖 animate.css,但它的动画也是用 CSS3 创建的,所以它不支持 IE10 以下的浏览器。

浏览器兼容

网站页面滚动加载动画JS特效制作  第2张网站页面滚动加载动画JS特效制作  第3张网站页面滚动加载动画JS特效制作  第4张网站页面滚动加载动画JS特效制作  第5张网站页面滚动加载动画JS特效制作  第6张
IE10+ Chrome Firefox Opera Safari 

IE6、IE7 等老旧浏览器不支持 CSS3 动画,所以没有效果,并且因为不支持一些属性或方法会报错。为了达到更好的兼容,最好加一个浏览器及版本判断。

基本方法

1、引入文件

网站页面滚动加载动画JS特效制作  第7张 JavaScript
<script src="scrollReveal.js"></script>

2、HTML(直接将“data-scroll-reveal”放在DIV框架内即可)

网站页面滚动加载动画JS特效制作  第7张 PHP
<div data-scroll-reveal>talklee.com</div>

必须给元素加上 data-scroll-reveal 属性,加上之后会执行默认的动画效果,你也可以自定义改属性以显示不同的动画效果,如:

网站页面滚动加载动画JS特效制作  第7张 PHP
<div data-scroll-reveal="enter left and move 50px over 1.33s">dowebok.com</div><div data-scroll-reveal="enter from the bottom after 1s">Hello world!</div><div data-scroll-reveal="wait 2.5s and then ease-in-out 100px">iPhone 6</div>

3、JavaScript(最后在网页底部加上script语句)

网站页面滚动加载动画JS特效制作  第7张 JavaScript
<script>    (function(){    window.scrollReveal = new scrollReveal({ reset: false, move: '66px'});    })();    </script>

data-scroll-reveal属性

上面说了可以自定义 data-scroll-reveal 属性,下面来看看该属性的关键词和值(可选)。

  • enter

说明: 动画起始方向

值: top | right | bottom | left

  • move

说明: 动画执行距离

值: 数字,以 px 为单位

  • over

说明: 动画持续时间

值: 数字,以秒为单位

  • after/wait

说明: 动画延迟时间

值: 数字,以秒为单位

填充(可选)

可以在 data-scroll-reveal 属性里填充(添加)一些类似编程的“语句”,使其更有可读性,scrollReveal.js 支持以下“语句”:

  • from

  • the

  • and

  • then

  • but

  • with

  • ,

也就是可以像这样写 HTML

网站页面滚动加载动画JS特效制作  第7张 Markup
<div data-scroll-reveal="wait 0.3s, then enter left and move 40px over 2s">dowebok.com</div><div data-scroll-reveal="enter from the left after 0.3s, move 40px, over 2s">Hello world!</div><div data-scroll-reveal="enter left move 40px over 2s after 0.3s">iPhone 6</div><div data-scroll-reveal="enter left, move 40px, over 2s, wait 0.3s">I love you</div>

高级用法

自定义默认值

可以更改 scrollReveal.js 的默认配置,如:

网站页面滚动加载动画JS特效制作  第7张 JavaScript
var config = {
    after: '0s',
    enter: 'bottom',
    move: '24px',
    over: '0.66s',
    easing: 'ease-in-out',
    viewportFactor: 0.33,
    reset: false,
    init: true};window.scrollReveal = new scrollReveal(config);

动态HTML

scrollReveal.init() 方法可以检测所有含有 data-scroll-reveal 属性的元素,并进行初始化,所以对于动态加载的元素,可以这样操作:

网站页面滚动加载动画JS特效制作  第7张 JavaScript
var config = {
    enter: 'bottom',
    move: '40px',
    over: '0.16s',
    reset: true,
    init: false};window.scrollReveal = new scrollReveal(config);var data = {newElementHtml: '<div data-scroll-reveal>dowebok.com</div>'};var container = document.getElementById('#container');container.innerHTML(data.newElementHTML);scrollReveal.init();

其中高级自定义可以在后期加入,目前本站只是简单的加载动画,更加美妙的特效以后会慢慢加入。。。快来试试吧!如果不喜欢这个可以试试wow.js,网站页面滚动加载动画JS特效之二

此篇文章由DurkBlue发布,请自觉转载请注明来处
文章投稿或转载声明

来源:DurkBlue版权归原作者所有,转载请保留出处。本站文章发布于 2020-02-06
温馨提示:文章内容系作者个人观点,不代表DurkBlue博客对其观点赞同或支持。

赞(1)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享