JavaScript--AOS.js页面滚动动画插件

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

1.引用

在html文件中引入css文件和js文件

<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">

<!--别忘了引入jQuery文件-->

<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>

2.页面中的使用

1.初始化AOS
<script>
	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', // 定义与窗口有关的元素的哪个位置应触发动画

		//以下两个为额外配置
		
		//AOS被禁用的条件
			//可以传入三种设备类型:mobile、phone、tablet
			//也可以自己设置禁用条件,比如window.innerWidth < 1024 屏幕小于1024像素时禁用
			//也可以传入一个函数,返回true或者false
		disable:false,
		//AOS被初始化的事件名称
			//如果不想滚动动画从页面加载(DOMContentLoaded)后就开始执行,可以使用这个来设置,AOS会在document上监听这事件
		startEvent:DOMContentLoaded,
	});
</script>
2.使用data-aos属性设置动画(在标签中的使用)
<!--fade-in是动画名字,使用哪个写哪个即可,在页面滚动时,会在该元素上触发相应的动画-->
<!--data前缀是为HTML5校验的问题-->
<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="ease-in-out"
    data-aos-once="false"
    data-aos-anchor-placement="top-center">
    这里对上述属性做一个解释:
    	aos-offset:是立刻触发动画还是在指定时间之后触发动画
    	aos-delay:动画延迟的时间
    	aos-duration:动画持续时间
    	aos-easing:动画的easing动画效果
    	aos-once:动画是否只会触发一次,或者每次上下滚动都会触发
    	aos-anchor-placement:锚位置,触发动画时元素位于屏幕的位置
</div>

<!--还有一个只能用在每个元素基础上的配置属性:锚点-->
<div data-aos="fade-up" data-aos-anchor=".other-element"></div>
<!--这样可以在滚动到另一个元素时触发某一元素动画,对固定位置元素挺有用的-->
3.API(使AOS对象成为全局变量的三种方式)
AOS.init()//初始化
AOS.refresh()//重新计算元素的所有偏移量和位置(在窗口调整大小时使用)
AOS.refreshHard()//使用AOS元素和触发器重新初始化数组refresh(调整与DOM变化相关的aos元素)
4.自定义动画

添加自定义动画
可以自定义自己需要的动画。
例:根据分辨率不同在一个盒子里需要两种不同的动画
1.在js中自定义动画

[data-aos="new-animation"] {
  opacity: 0;
  transition-property: transform, opacity;

  &.aos-animate {
    opacity: 1;
  }

  @media screen and (min-width: 768px) {
    transform: translateX(100px);

    &.aos-animate {
      transform: translateX(0);
    }
  }
}

2.在html中使用

<div data-aos="new-animation"></div>

此时该元素只为移动端的opacity设置动画,从768px开始该元素也会从右向左滑动

添加自定义easing

[data-aos] {
  body[data-aos-easing="new-easing"] &,
  &[data-aos][data-aos-easing="new-easing"] {
    transition-timing-function: cubic-bezier(.250, .250, .750, .750);
  }
}
5.注意事项

设置:durationdelay

/*添加css 增加持续时间*/
 body[data-aos-duration='4000'] [data-aos],
  [data-aos][data-aos][data-aos-duration='4000'] {
    transition-duration: 4000ms;
 }

上述代码将添加4000ms的duration时间,可供在AOS元素上设置,或在初始化AOS脚本时设置为全局duration时间。

注:[data-aos][data-aos]并不是语法错误,这是一种技巧,可以使单个配置比全局配置更重要,就不需要标明!important

<div data-aos="fade-in" data-aos-duration="4000"></div>

3.动画、easings效果点击这个链接

jQuery插件库的链接点这里


对AOS.js插件的使用做一次记录

插件描述:aos.js是一款效果超赞的页面滚动元素动画jQuery动画插件。该动画库可以在页面滚动时提供28种不同的元素动画效果,以及多种easing效果。在页面往回滚动时,元素会恢复到原来的状态。 简要教程 aos.js是一款效果超赞的页面滚动元素动画jQuery动画插件。该动画库可以在页面滚动时提供28种不同的元素动画效果,以及多种easing效果。在页面往回滚动时,元素会恢复到原来的状态。 安装 可以通过bower来安装aos动画插件。 bower install aos --save 使用方法 在页面中引入aos.css文件,jqueryaos.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: 使用 Vue Element Plus 和 AOS 开发可以带来一些好处: 1. Vue Element Plus 是一个基于 Vue.js 的企业级 UI 组件库,它包含了很多常用的 UI 组件,如表格、表单、按钮、弹框等,可以大大简化开发者的 UI 开发工作。 2. AOS (Animate On Scroll) 是一个用于实现滚动动画JavaScript 库,可以让网页元素在滚动时实现各种各样的动画效果,增加网站的交互性和用户体验。 3. 使用 Vue Element Plus 和 AOS 开发的网站可以具有美观的 UI 设计和丰富的交互效果,能吸引更多用户的注意。 4. Vue Element Plus 和 AOS 都是开源软件,提供了丰富的文档和示例,使用起来非常方便。 ### 回答2: 使用Vue ElementPlus AOS开发有以下好处: 1. 开发效率高:Vue ElementPlus AOS提供了一系列的可复用的组件和工具,使得开发人员可以快速构建前端界面。它具有完整的UI组件库,提供丰富的功能和样式,减少了自定义组件的开发时间。同时,它还提供了一些常用的工具函数和指令,使得开发过程更加便捷。 2. 高度可定制化:Vue ElementPlus AOS基于Vue.js和ElementUI进行开发,具有高度可定制的特性。开发人员可以根据项目需求,自由选择所需的组件和样式,进行二次开发和扩展。它提供了丰富的主题和插件,可以满足不同项目的UI需求。 3. 响应式布局:Vue ElementPlus AOS采用了响应式布局的设计,可以适应不同大小的屏幕和设备。它提供了自适应的布局方式,使得网站在不同的终端上都能够呈现出良好的用户体验。同时,它还提供了一些响应式的工具方法和指令,方便开发人员进行布局和响应处理。 4. 支持国际化:Vue ElementPlus AOS提供了国际化的支持,可以轻松实现多语言的切换。它提供了翻译工具和国际化插件,可以根据需要进行配置和管理。这对于需要面向不同语言用户的项目非常有用,可以提升用户的体验和用户群体的扩展。 5. 社区活跃:Vue ElementPlus AOS是一个开源项目,有庞大的开发者社区支持和维护。社区活跃度高,提供了丰富的文档和示例代码,可以帮助开发人员快速上手和解决问题。通过与其他开发者的交流和分享,可以获得更多的开发经验和技术支持。 综上所述,使用Vue ElementPlus AOS进行开发可以提高开发效率,提供高度可定制化的界面和布局,支持响应式和国际化,同时还能享受活跃的社区支持。这使得开发人员可以更专注于业务逻辑的实现,提供更好的用户体验。 ### 回答3: Vue ElementPlus 是一个基于 Vue.js 的组件库,提供了丰富的 UI 组件和工具,方便开发者快速构建高质量的网页应用程序。AOS(Animate On Scroll)是一个 JavaScript 库,用于在网页滚动时添加动画效果。 使用 Vue ElementPlus AOS 开发的好处如下: 1. 简化开发流程:Vue ElementPlus 提供了丰富的组件,包括按钮、表单、日期选择器等常用的 UI 组件,减少了开发者从零开始构建这些组件的工作量。AOS 提供了简单易用的 API,可以轻松地在网页滚动时添加动画效果,而无需自行编写复杂的动画代码。 2. 提升开发效率:Vue ElementPlus 的组件和 AOS动画效果都是经过优化和测试的,使用它们可以减少调试和修复 bug 的时间。此外,Vue.js 的响应式数据绑定使得开发者可以轻松地管理和更新组件中的数据,进一步提高开发效率。 3. 提供一致的用户体验:Vue ElementPlus 的组件库遵循一致的设计风格和用户体验规范,可以让开发者快速构建出具有统一外观和交互的网页应用程序。AOS动画效果可以增加页面的动感和视觉吸引力,提升用户的体验和参与度。 4. 支持响应式设计:Vue ElementPlus 和 AOS 都支持响应式设计,可以自动适应不同屏幕尺寸和设备类型,从而提供更好的用户体验。使用这两个工具开发的网页应用程序可以在不同的设备上保持良好的显示效果,并提供良好的交互性。 总而言之,使用 Vue ElementPlus AOS 开发可以简化开发流程、提高开发效率,提供一致的用户体验,并支持响应式设计。这些优势使得开发者能够更高效地开发出高质量的网页应用程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值