aos.js是一款效果超赞的页面滚动元素动画jQuery动画库插件。该动画库可以在页面滚动时提供28种不同的元素动画效果,以及多种easing效果。在页面往回滚动时,元素会恢复到原来的状态。
安装
可以通过bower来安装aos动画库插件。
bower install aos --save
使用方法
在页面中引入aos.css文件,jquery和aos.js文件
HTML结构
要使用aos动画库,你需要做的就是在需要动画的元素上添加aos属性,例如:
aos脚本将会在页面滚动时,在该元素上触发相应的动画。
在元素上还可以添加以下一些属性:
属性 描述 示例值 默认值 aos-offset 是立刻触发动画还是在指定时间之后触发动画 200 120 aos-duration 动画持续时间 600 400 aos-easing 动画的easing动画效果 ease-in-sine ease aos-delay 动画的延迟时间 300 0 aos-anchor 锚元素。使用它的偏移来取代实际元素的偏移来触发动画 #selector null aos-anchor-placement 锚位置,触发动画时元素位于屏幕的位置 top-center top-bottom aos-once 动画是否只会触发一次,或者每次上下滚动都会触发 true false 注意,
aos-duration的动画持续时间的范围从50-3000毫秒,如果你想设置更大的值,可以在页面中添加下面的CSS代码:body[aos-duration='4000'] [aos], [aos][aos][aos-duration='4000']{ transition-duration: 4000ms; }上面的代码将动画的持续时间修改为4000毫秒。
示例代码:
如果你担心HTML5校验的问题,可以为上面的属性添加
data-前缀。全局配置
如果你不想单独每个元素做一个动画配置,你可以通过
init()方法来统一配置所有元素的动画效果。AOS.init({ offset: 200, duration: 600, easing: 'ease-in-sine', delay: 100, });额外配置
AOS提供了2个额外的配置方法,这些方法只能够在初始化时使用。
配置 描述 示例值 默认值 disable AOS被禁用的条件 mobile false startEvent AOS被初始化的事件名称 exampleEvent DOMContentLoaded 禁用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个可用的方法:
initrefreshAOS.refresh();上面的代码会重新计算元素的位置和偏移。
动画和锚位置
动画
淡入淡出动画:
fade-upfade-downfade-leftfade-rightfade-up-rightfade-up-leftfade-down-rightfade-down-left翻转动画:
flip-upflip-downflip-leftflip-right滑动动画:
slide-upslide-downslide-leftslide-right缩放动画:
zoom-inzoom-in-upzoom-in-downzoom-in-leftzoom-in-rightzoom-outzoom-out-upzoom-out-downzoom-out-leftzoom-out-right锚位置
top-bottomtop-centertop-topcenter-bottomcenter-centercenter-topbottom-bottombottom-centerbottom-topeasing动画
你可以使用以下的一些easing动画效果:
lineareaseease-inease-outease-in-outease-in-backease-out-backease-in-out-backease-in-sineease-out-sineease-in-out-sineease-in-quadease-out-quadease-in-out-quadease-in-cubicease-out-cubicease-in-out-cubicease-in-quartease-out-quartease-in-out-quartaos动画库的github地址为:https://github.com/michalsnik/aos。









