用HTML、CSS及JS一步步创建网站,AOS 页面滚动动画库的使用

本文档详细介绍了如何使用AOS(Animate on Scroll)库创建页面滚动动画,包括安装、初始化、使用data-aos属性设置动画,以及API、JS事件、自定义动画和注意事项等。AOS提供了多种内置动画、easings和锚点位置,适用于网页动态效果的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Github 地址:AOS - Animate on scroll library
演示,这个是用了 AOS 滚动动画库的一个网站
预览
演示网站的源代码地址,注释很详细

1 安装

基本的

在 html 文件的 标签中引入 AOS-CSS 文件

< link  rel =“ stylesheet ” href =“ https://unpkg.com/aos@next/dist/aos.css ” />

在关闭标签之前添加脚本,并初始化AOS

<script src="https://unpkg.com/aos@next/dist/aos.js"></script>
<script>
    AOS.init();
</script>

包管理器

在项目根目录下安装 aos 包

  • yarn add aos@next
  • 或者 npm install --save aos@next

导入脚本,样式并初始化AOS

import AOS from 'aos';
import 'aos/dist/aos.css'; // 也可以使用 <link> 引入样式
// ..
AOS.init();

为了 AOS 生效,必须确保在编写过程中配置了样式加载器,并正确绑定。

2 页面中怎样使用
2.1 初始化 AOS
AOS.init();

// 可以传一个可选的配置对象
// 下面列出了默认配置
AOS.init({
    // 全局配置:
    disable: false, // 禁用。可取值: 'phone'、'tablet'、'mobile'、布尔值、表达式或函数
    startEvent: 'DOMContentLoaded', // AOS 应初始化在 document 上绑定的事件名
    initClassName: 'aos-init', // 初始化后使用的 class 类
    animatedClassName: 'aos-animate', // 动画 class
    useClassNames: false, // 值为 true,将添加滚动 `data-aos` 内容为 class
    disableMutationObserver: false, // disables automatic mutations' detections (高级)
    debounceDelay: 50, // 调整窗口大小时使用的 (高级)
    throttleDelay: 99, // 滚动页面时使用的延迟 (高级)
  
    // 通过 'data-aos-*' 属性在每个元素上重写配置:
    offset: 120, // 从原始触发点的偏移量 (px)
    delay: 0, // 取值范围 0-3000, 每多 1 加 50ms
    duration: 400, // 取值范围 0-3000, 每多 1 加 50ms
    easing: 'ease', // AOS 动画默认 easing
    once: false, // 向下滑动时,动画只发生一次
    mirror: false, // 滚动到元素上方时是否应设置动画
    anchorPlacement: 'top-bottom', // 定义与窗口有关的元素的哪个位置应触发动画
});
2.2 使用 data-aos 属性设置动画
<div data-aos="fade-in"></div>

使用 data-aos-* 来调整行为

<div
    data-aos="fade-up"
    data-aos-offset="200"
    data-aos-delay="50"
    data-aos-duration="1000"
    data-aos-easing
插件描述:aos.js是一款效果超赞的页面滚动元素动画jQuery动画库插件。该动画库可以在页面滚动时提供28种不同的元素动画效果,以及多种easing效果。在页面往回滚动时,元素会恢复到原来的状态。 简要教程 aos.js是一款效果超赞的页面滚动元素动画jQuery动画库插件。该动画库可以在页面滚动时提供28种不同的元素动画效果,以及多种easing效果。在页面往回滚动时,元素会恢复到原来的状态。 安装 可以通过bower来安装aos动画库插件。 bower install aos --save 使用方法 在页面中引入aos.css文件,jquery和aos.js文件 <link rel="stylesheet" href="dist/aos.css" /> [removed][removed] [removed][removed] 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个可用的方法: 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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值