动画插件--scrollReveal

1.什么是scrollReveal?

    scrollReveal是一个兼容PC端和移动设备的滚动动画库。不同的是 WOW.js 的动画只播放一次,而 scrollReveal.js 的动画可以播放一次或无限次;

2.scrollReveal特点

同时兼容PC端和移动端

不依赖于jQuery以及animate.css

定制性高,使用简单方便快捷

和animte.css, WoW一样, 不支持低版本浏览器(IE10+)

3.使用步骤

  1. 引入框架
  2. 搭建结构体
  3. 创建ScrollReveal对象
  4. 调用ScrollReveal对象的reveal方法, 将需要执行动画的元素给它

    

   

4.scrollReveal配置

  • reset       boolean true / false元素是否在容器边界内来回滚动时都产生动画效果
  • duration    number  500 动画持续时间,单位毫秒
  • delay       number  0   动画的延迟时间,单位毫秒
  • rotate      object/number   { x: 0, y: 0, z: 0 }    开始的角度,单位degrees
  • opacity     number  0   开始的透明度
  • scale       number  0.9 开始的缩放值
  • distance    string  可用任何CSS单位值,如:’20px’,’10vw’,’5%’ 动画的距离
  • origin      string  ‘top’,’right’,’bottom’,’left’   动画的方向
  • easing      string  ‘ease’ ‘ease-out’‘ease-in-out’‘ease-in-out’ 动画的easing效果,可以是任何有效的CSS easing值

5.scrollReveal事件

beforeReveal    动画开始之前的回调

afterReveal     动画结束时放的回调

beforeReset     动画开始被重置

afterReset      动画重置结束

什么是动画重置?

执行动画的元素离开屏幕之后就会被重置

重置就是重新设置为动画开始之前的默认样式

6. 示例

    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 400px;
            height: 200px;
            line-height: 200px;
            text-align: center;
            margin: 0 auto;
        }
        div:nth-child(odd){
            background: red;
        }
        div:nth-child(even){
            background: blue;
        }
    </style>
    <script src="js/scrollreveal.js"></script>
<div>我是第1个div</div>
<div>我是第2个div</div>
<div>我是第3个div</div>
<div>我是第4个div</div>
<div>我是第5个div</div>
<div>我是第6个div</div>
<div>我是第7个div</div>
<div>我是第8个div</div>
<div>我是第9个div</div>
<div>我是第10个div</div>
<div>我是第11个div</div>
<div>我是第12个div</div>
<div>我是第13个div</div>
<div>我是第14个div</div>
<div>我是第15个div</div>
<div>我是第16个div</div>
<div>我是第17个div</div>
<div>我是第18个div</div>
<div>我是第19个div</div>
<div>我是第20个div</div>
<div>我是第21个div</div>
<div>我是第22个div</div>
<div>我是第23个div</div>
<div>我是第24个div</div>
<div>我是第25个div</div>
<div>我是第26个div</div>
<div>我是第27个div</div>
<div>我是第28个div</div>
<div>我是第29个div</div>
<div>我是第30个div</div>
    let sr = ScrollReveal({
        reset: true, // 执行动画的元素离开屏幕之后就会被重置,重置就是重新设置为动画开始之前的默认样式
        duration: 5000,
        // delay: 5000,
        rotate: {x: 0, y: 0, z: 45},
        opacity: 0.5,
        scale: 2,
        distance: "500px", //动画的距离
        origin: "left",
        easing: "ease-in-out",
        beforeReveal: function (ele) {
            // 动画开始之前的回调
            // console.log("动画开始之前", ele);
        },
        afterReveal: function (ele) {
            // 动画结束之后的回调
            // console.log("动画结束之后", ele);
        },
        beforeReset: function (ele) {
            // 动画元素被重置之前的回到
            // console.log("动画元素被重置", ele);
        },
        afterReset: function (ele) {
            // 动画元素被重置之后的回到
            console.log("动画元素被重置", ele);
        },
    });
    sr.reveal('div');

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白小白从不日白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值