AOS – 另外一个独特的页面滚动动画库(CSS3)

AOS 是一个用于在页面滚动的时候呈现元素动画的工具库,你可能会觉得它和 WOWJS 一样,的确他们效果是类似的。但是AOS是 CSS3 动画驱动的库,当你滚动页面的时候能让元素动起来,当页面滚回顶部的时候,元素能够回到前一个状态,如此达到循环动画的效果。


去体验一下

简要教程

aos.js是一款效果超赞的页面滚动元素动画jQuery动画库插件。该动画库可以在页面滚动时提供28种不同的元素动画效果,以及多种easing效果。在页面往回滚动时,元素会恢复到原来的状态。

安装

可以通过bower来安装aos动画库插件。

bower install aos --save
使用方法

在页面中引入aos.css文件,jquery和aos.js文件

<link rel="stylesheet" href="dist/aos.css" /><script src="js/jquery.min.js"></script><script src="dist/aos.js"></script>
HTML结构

要使用aos动画库,你需要做的就是在需要动画的元素上添加aos属性,例如:

<div aos="animation_name">

aos脚本将会在页面滚动时,在该元素上触发相应的动画。

在元素上还可以添加以下一些属性:

属性属性属性默认值
aos-offset是立刻触发动画还是在指定时间之后触发动画200120
aos-duration动画持续时间600400
aos-easing动画的easing动画效果ease-in-sineease
aos-delay动画的延迟时间3000
aos-anchor锚元素。使用它的偏移来取代实际元素的偏移来触发动画#selectornull
aos-anchor-placement锚位置,触发动画时元素位于屏幕的位置top-centertop-bottom
aos-once动画是否只会触发一次,或者每次上下滚动都会触发truefalse

注意,aos-duration的动画持续时间的范围从50-3000毫秒,如果你想设置更大的值,可以在页面中添加下面的CSS代码:

body[aos-duration='4000'] [aos], [aos][aos][aos-duration='4000']{  transition-duration: 4000ms;}

上面的代码将动画的持续时间修改为4000毫秒。

示例代码:
<div aos="fade-zoom-in" aos-offset="200" aos-easing="ease-in-sine" aos-duration="600"><div aos="flip-left" aos-delay="100" aos-anchor=".example-selector"><div aos="fade-up" aos-anchor-placement="top-center">

如果你担心HTML5校验的问题,可以为上面的属性添加data-前缀。

<div data-aos="animation_name" data-aos-offset="200" data-aos-easing="ease-in-sine">
全局配置

如果你不想单独每个元素做一个动画配置,你可以通过init()方法来统一配置所有元素的动画效果。

AOS.init({  offset: 200,  duration: 600,  easing: 'ease-in-sine',  delay: 100,});
额外配置

AOS提供了2个额外的配置方法,这些方法只能够在初始化时使用。

配置描述示例值默认值
disableAOS被禁用的条件mobilefalse
startEventAOS被初始化的事件名称exampleEventDOMContentLoaded

禁用AOS:

如果你项在小屏幕设备中禁用AOS,可以:

AOS.init({  disable: 'mobile'});

你可以传入3种设备的类型:mobile、phone或tablet。

你也可以设置自己的禁用条件,例如在屏幕小于1024像素时禁用AOS:

disable: window.innerWidth < 1024

或者传入一个函数,返回true或false。

disable: function () {    var maxWidth = 1024;    return window.innerWidth < maxWidth;}
开始动画的事件:

如果你不想滚动动画从页面加载(DOMContentLoaded)后就开始执行,可以使用startEvent来设置自己的事件,AOS会在document上监听这个事件:

AOS.init({  startEvent: 'someCoolEvent'});
API

AOS对象有2个可用的方法:

  • init

  • refresh

AOS.refresh();

上面的代码会重新计算元素的位置和偏移。

动画和锚位置

动画

淡入淡出动画:

  • fade-up

  • fade-down

  • fade-left

  • fade-right

  • fade-up-right

  • fade-up-left

  • fade-down-right

  • fade-down-left

翻转动画:

  • flip-up

  • flip-down

  • flip-left

  • flip-right

滑动动画:

  • slide-up

  • slide-down

  • slide-left

  • slide-right

缩放动画:

  • zoom-in

  • zoom-in-up

  • zoom-in-down

  • zoom-in-left

  • zoom-in-right

  • zoom-out

  • zoom-out-up

  • zoom-out-down

  • zoom-out-left

  • zoom-out-right

锚位置

  • top-bottom

  • top-center

  • top-top

  • center-bottom

  • center-center

  • center-top

  • bottom-bottom

  • bottom-center

  • bottom-top

easing动画

你可以使用以下的一些easing动画效果:

  • linear

  • ease

  • ease-in

  • ease-out

  • ease-in-out

  • ease-in-back

  • ease-out-back

  • ease-in-out-back

  • ease-in-sine

  • ease-out-sine

  • ease-in-out-sine

  • ease-in-quad

  • ease-out-quad

  • ease-in-out-quad

  • ease-in-cubic

  • ease-out-cubic

  • ease-in-out-cubic

  • ease-in-quart

  • ease-out-quart

  • ease-in-out-quart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值