• 核心团队专业整合营销推广18 年!优秀企业营销推广利器!
  • AOS 是一个用于在页面滚动的时候呈现元素动画的工具库,你可能会觉得它和 WOW.JS 一样,的确他们效果是类似的。但是AOS是 CSS3 动画驱动的库,当你滚动页面的时候能让元素动起来,当页面滚回顶部的时候,元素能够回到前一个状态,如此达到循环动画的效果。

    3274.jpg


    下载地址

    AOS开源项目地址

    简要教程

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

    安装

    1.官网或开源项目地址下载。

    2.可以通过npm来安装aos动画库插件。

    npm install aos --save

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

    bower install aos --save

    使用方法

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

    <link rel="stylesheet" href="dist/aos.css" />
    <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()方法来统一配置所有元素的动画效果。

    <script>
      AOS.init({  
         offset: 200,  
         duration: 600,  
         easing: 'ease-in-sine',  
         delay: 100,
    });
     </script>

    额外配置

    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对象有3个可用的方法:

    • init - 初始化 AOS

    • refresh - 重新计算元素的所有偏移和位置(在调整窗口大小时调用)

    • refreshHard - 使用AOS元素重新初始化数组并触发刷新(在与AOS元素相关的DOM更改上调用)

    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


    我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求...
    请立即点击咨询我们或拨打咨询热线: 0755-88850371,我们会详细为你一一解答你心中的疑难。项目经理在线

    我们已经准备好了,你呢?

    2021我们与您携手共赢,为您的企业形象保驾护航!

    在 线 客 服
    工 作 时 间:

    8:30 - 17:30(周一到周五)

    总 机 电 话:

    0755-89807405

    7*24小时值班电话:

    0755-88850371

    微信扫码咨询:
    线