zoukankan      html  css  js  c++  java
  • scrollReveal.js – 页面滚动显示动画JS

    简介

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

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

    浏览器兼容

    IEChromeFirefoxOperaSafari
    IE10+ ✔ Chrome ✔ Firefox ✔ Opera ✔ Safari ✔

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

    基本方法

    1、引入文件

    <script src="js/scrollReveal.js"></script>

    2、HTML

    <div data-scroll-reveal>dowebok.com</div>

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

    <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

     window.scrollReveal = new scrollReveal(); //或者,elem 为动画元素的任何级别的父元素
    window.scrollReveal2 = new scrollReveal({elem: document.getElementById('srcontainer')});

    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:

    1 <div data-scroll-reveal="wait 0.3s, then enter left and move 40px over 2s">dowebok.com</div>
    2 <div data-scroll-reveal="enter from the left after 0.3s, move 40px, over 2s">Hello world!</div>
    3 <div data-scroll-reveal="enter left move 40px over 2s after 0.3s">iPhone 6</div>
    4 <div data-scroll-reveal="enter left, move 40px, over 2s, wait 0.3s">I love you</div>

    高级用法

    自定义默认值

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

     1 var config = {
     2     after: '0s',
     3     enter: 'bottom',
     4     move: '24px',
     5     over: '0.66s',
     6     easing: 'ease-in-out',
     7     viewportFactor: 0.33,
     8     reset: false,
     9     init: true
    10 };
    11 window.scrollReveal = new scrollReveal(config);

    动态HTML

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

     1 var config = {
     2     enter: 'bottom',
     3     move: '40px',
     4     over: '0.16s',
     5     reset: true,
     6     init: false
     7 };
     8 window.scrollReveal = new scrollReveal(config);
     9 var data = {newElementHtml: '<div data-scroll-reveal>dowebok.com</div>'};
    10 var container = document.getElementById('#container');
    11 container.innerHTML(data.newElementHTML);
    12 scrollReveal.init();

    演示1 演示2 下载

  • 相关阅读:
    【JZOJ3347】树的难题
    【JZOJ3379】查询
    【JZOJ3337】wyl8899的TLE
    【JZOJ3318】Brunhilda的生日
    【JZOJ3319】雪地踪迹
    2018暑假集训——待做且可尝试去做的题
    2018暑假集训专题小结 Part.2
    2018.07.13【省赛模拟】模拟B组 【GDOI2016模拟】作业分配
    2018暑假集训专题小结 Part.1
    2018.07.12【2018提高组】模拟B组 【NOIP2015模拟10.27】魔法阵
  • 原文地址:https://www.cnblogs.com/joyco773/p/9125297.html
Copyright © 2011-2022 走看看