滚动条触动css动画效果——scrollreveal.js

abcd23218个月前前端开发220

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

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


浏览器兼容

2019021860548249.jpg


基本用法

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">杨青个人博客</div>

<div data-scroll-reveal="enter from the bottom after 1s">ScrollReveal</div>

<div data-scroll-reveal="wait 2.5s and then ease-in-out 100px">ScrollReveal</div>

3、JavaScript初始化

<script>
if (!(/msie [6|7|8|9]/i.test(navigator.userAgent))){
(function(){
	window.scrollReveal = new scrollReveal({reset: true});
	})();
};
</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:

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

相关文章

jQuery.raty.js星星评分插件使用

jQuery.raty.js星星评分插件使用

在做前端开发的过程中,我们经常用到星星评分插件。这里推荐一jquery,raty.js是一个专门用来做评分的。星星显示的效果如下:<script src="js/jquery...

CSS之文本两端对齐

CSS之文本两端对齐

说起text-align,大家一定都不觉得陌生,我们常用关键字left、right、center实现行内元素相对父元素左、右、居中对齐,当然我们也使用justify来实现文本两端对齐。如上图,两端对齐...

透明度与十六进制代码转换

透明度参照表:00%=FF(不透明) 5%=F2 10%=E5 15%=D8 20%=CC 25%=BF 30%=B2 35%=A5 40%=99 45%=8c 50%=7F 55%=72 60%=6...

jQuery pjax 简单入门

Pjax是ajax的升级版,怎么理解呢,当初学习ajax的时候讲了ajax的优缺点,其中一个缺点是破坏了浏览器的前进后退,因为ajax的请求不会留在历史记录中。pjax就不一样了,pjax...

公共jquery库无法连接,则实行本地库

如果没有加载公共库jquery,则加载本地jquery。jQuery加载后,会在window对象上创建jQuery属性。所以根据window.jQuery来判断是否加载过jQuery。用的是短路求值。...

CSS实现单行、多行文本溢出显示省略号(…

如果实现单行文本的溢出显示省略号同学们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览。实现方法:overflow: hidden;...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。