弘帝企业智能建站系统交流平台

 找回密码
 立即注册
查看: 911|回复: 2

scrollReveal.js – 让页面滚动显示动画JS

[复制链接]
发表于 2022-3-7 12:48:46 | 显示全部楼层 |阅读模式
scrollReveal.js和 WOW.js 一样,scrollReveal.js 也是一款页面滚动显示动画的 JavaScript,能让页面更加有趣,更吸引用户眼球。不同的是 WOW.js 的动画只播放一次,而 scrollReveal.js 的动画可以播放一次或无限次;WOW.js 依赖 animate.css,而 scrollReveal.js 不依赖其他任何文件。虽然 scrollReveal.js 不依赖 animate.css,但它的动画也是用 CSS3 创建的,所以它不支持 IE10 以下的浏览器。

参考:https://blog.csdn.net/weixin_39801446/article/details/82143296
参考:https://www.kancloud.cn/nfwh/javascript/1457830
参考:scrollReveal.js – 页面滚动显示动画JS_dowebok

弘帝目前已经引用该插入,可参考模板:220223。
上款可以用HTML来标识动画,适合HTML设计师。
下款用JS来实现动画,让HTML更干净,适合JS脚本设计者。
新版ScrollReveal.js竞品插件:ScrollReveal(页面缓入效果插件) - 有点小九九 - 博客园 (cnblogs.com)
官网:https://scrollrevealjs.org/


回复

使用道具 举报

 楼主| 发表于 2022-7-23 21:55:18 | 显示全部楼层
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();只首次执行网页载入动画
window.scrollReveal = new scrollReveal({ reset: true });可重复载入动画
//或者,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:

<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 的默认配置,如:

var config = {
    after: '0s',             //延迟
    enter: 'bottom',     //动画开始的方向
    move: '24px',        //移动多少像素
    over: '0.66s',         //动画持续时间
    easing: 'ease-in-out',
    viewportFactor: 0.33,
    reset: false,          //是否重新执行动画,默认不重复(一次性动画)
    init: true,    opacity: 0            //初始透明度
};
window.scrollReveal = new scrollReveal(config);
动态HTML
scrollReveal.init() 方法可以检测所有含有 data-scroll-reveal 属性的元素,并进行初始化,所以对于动态加载的元素,可以这样操作:

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();

事故:当因某种原因,隐藏了,可以scrollReveal.init();
案例:grandis/include/function.js

取消:当不希望某DOM动画,可以
$(".relative .menu ul li").removeAttr("data-scroll-reveal");




回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-7-29 07:15:38 | 显示全部楼层

强大的scrollReveal库,炫酷的页面缓入效果。

强大的scrollReveal库,炫酷的页面缓入效果。 - 红鲤鱼与LV - 博客园 (cnblogs.com)
看一下这个强大的插件能做出什么效果,下面是我找的一个网站:

http://kepler.gl/#/

接下来看看官网给出的效果:https://scrollrevealjs.org/

是不是很炫酷,很让人心动,接下来我们介绍如何使用:

(1)安装或引入

a。你可以直接引入:

<script src="https://unpkg.com/scrollreveal"></script>
先别忙着粘贴,记得要加上版本号,如果不指定固定版本号,可能会在解析最新版本时延迟页面加载。



b.或者你可以使用npm进行安装

npm install scrollreveal
安装成功后,在页面进行引入:

import ScrollReveal from 'scrollreveal'

(2)接下来在你需要加效果的html元素处加data-scroll-reveal。

<div class="industry_advantage" >
    <h1 class="home_t1" data-scroll_reveal>优势</h1>
    <ul data-scroll-reveal>
        <li >
            <span class="tab_1">icon</span>
            <strong>我</strong>
            <b>啦啦啦</b>
        </li>
        <li >
            <span class="tab_3">icon</span>
            <strong>英语</strong>
            <b>啦啦啦</b>
        </li>
        <li>
            <span  class="tab_4">icon</span>
            <strong>130万</strong>
            <b>啦啦啦</b>
        </li>
    </ul>
</div>

(3)最后在js中写配置

let config = {
            after: '0s',
            enter: 'bottom',
            move: '70px',
            over: '2s',
            easing: 'ease-in-out',
            viewportFactor: 0.33,
            reset: true,
            init: true
        };

window.sr = ScrollReveal();
ScrollReveal().reveal('.industry_advantage>ul, .home_t1' ,config)

当然啦,你如果需要设置不同的动画效果,可以直接在html标签里写,像这样:

<div data-scroll-reveal="wait 0.3s, then enter left and move 40px over 2s">啦啦啦</div>

此时,大功告成啦。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|弘帝企业智能建站系统 ( 皖ICP备07503252号 )

GMT+8, 2024-4-25 23:04 , Processed in 0.108084 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表