Vue+wow.js+animate.css-实现页面滚动可视区域动画效果展示-案例
说明
wowjs-当页面向下滚动时,动画出现;当页面向上回滚时,动画不会回退。
安装
npm install wowjs --save-dev
npm install animate.css --save
方式一 -全局引入
main.js
// 使用样式库
import animated from 'animate.css';
Vue.use(animated);// 滚动动画 wow.js
import { WOW } from 'wowjs'
Vue.prototype.$wow = new WOW({boxClass: 'wow', // defaultanimateClass: 'animated', // defaultoffset: 150, // defaultmobile: true, // defaultlive: false,// live为true时,控制台会提示:MutationObserver is not supported by your browser. & WOW.js cannot detect dom mutations, please call .sync() after loading new content.callback: function (box) {console.log("WOW: animating <" + box.tagName.toLowerCase() + ">")}
});
属性/方法 | 类型 | 默认值 | 说明 |
---|---|---|---|
boxClass | 字符串 | ‘wow’ | 需要执行动画的元素的 class |
animateClass | 字符串 | ‘animated’ | animation.css 动画的 class |
offset | 整数 | 0 | 距离可视区域多少开始执行动画 |
mobile | 布尔值 | true | 是否在移动设备上执行动画 |
live | 布尔值 | true | 异步加载的内容是否有效 |
offset为0时,设置动画的元素在出现在浏览器可视区域时执行动画
使用
.vue文件中,先初始化wow// watch: {
// 异步加载部分,使用watch初始化
// xxxx() {
// this.$nextTick(() => {
// // 在dom渲染完后,再执行动画
// this.$wow.init();
// });
// },
// },
mounted() {
this.$nextTick(() => {this.$wow.init();
});
},
完成初始化后,在需要添加动画的元素上,添加上相关动画的类名即可<div class="wow animate__animated animate__fadeIn">900</div>wow 为配置中的动画类名,必要!animate__animated animate__fadeIn 为animate.css 的动画效果1. 自定义动画持续时间
添加 data-wow-duration="2s"
<div class="wow animate__animated animate__fadeIn" data-wow-duration="2s">900</div>2. 自定义动画延迟时间
添加 data-wow-delay="5s"
<div class="wow animate__animated animate__fadeIn" data-wow-delay="5s">900</div>3. 自定义滚动距离添加 data-wow-offset="200" 效果:当元素距离可视区域200时开始执行动画(元素顶部到浏览器底部的距离)
<div class="wow animate__animated animate__fadeIn" data-wow-offset="200">900</div>4. 自定义动画重复次数添加 data-wow-iteration="2" 效果:动画会连续播放2次
<div class="wow animate__animated animate__fadeIn" data-wow-iteration="2" >900</div>若想动画无限重复播放,则使用 data-wow-iteration="infinite"
<div class="wow animate__animated animate__fadeIn" data-wow-iteration="infinite" >900</div>
全量代码
<template><div class="warp"><span>内容</span><div class="wow animate__animated animate__fadeIn">900</div><div class="wow animate__animated animate__fadeIn" data-wow-duration="2s">900</div><div class="wow animate__animated animate__fadeIn" data-wow-delay="5s">900</div><div style="height: 1200px"></div><!-- 添加 data-wow-offset="200" 效果:当元素距离可视区域200时开始执行动画(元素顶部到浏览器底部的距离) --><div class="wow animate__animated animate__fadeIn" data-wow-offset="200">900</div><div style="height: 1300px"></div><div class="box100">0</div><div class="box100">100</div><div class="box100">200</div><div class="box100">300</div><div class="box100">400</div><div class="box100">500</div><div class="box100">600</div><div class="box100">700</div><div class="box100">800</div><div class="box100 wow animate__animated animate__fadeIn">900</div><div class="box100">1000</div><div class="box100">1100</div><div class="box100">1200</div></div>
</template>
<script>
export default {name: "home2",components: {},data() {return {};},// watch: {// 异步加载// xxxx() {// this.$nextTick(() => {// // 在dom渲染完后,再执行动画// this.$wow.init();// });// },// },mounted() {this.$nextTick(() => {this.$wow.init();});},methods: {},destroyed() {},
};
</script><style lang="scss" scoped>
.box100 {height: 100px;background: #3a8ee6;border: 1px solid black;
}
</style>
方式二-局部引入
main.js
import animated from 'animate.css'
Vue.use(animated)
使用
//.vue文件import { WOW } from 'wowjs'//初始化wow.js
mounted(){
var wow = new WOW({boxClass: 'wow', //需要执行动画元素的ClassanimateClass: 'animated', //animation.css动画的Classoffset: 0, //距离可视区域多少开始执行动画mobile: true, //是否在移动设备执行动画live: true //异步加载的内容是否有效})wow.init();
}//属性
data-wow-duration:更改动画持续时间 data-wow-delay:动画开始前的延迟
data-wow-offset:开始动画的距离(与浏览器底部相关)
data-wow-iteration:动画的次数重复(无限次:infinite)
全量代码
<template><div class="warp"><span>内容</span><div class="wow animate__animated animate__fadeIn">900</div><div class="wow animate__animated animate__fadeIn" data-wow-duration="2s">900</div><div class="wow animate__animated animate__fadeIn" data-wow-delay="5s">900</div><div style="height: 1200px"></div><!-- 添加 data-wow-offset="200" 效果:当元素距离可视区域200时开始执行动画(元素顶部到浏览器底部的距离) --><div class="wow animate__animated animate__fadeIn" data-wow-offset="200">900</div><div style="height: 1300px"></div><div class="box100">0</div><div class="box100">100</div><div class="box100">200</div><div class="box100">300</div><div class="box100">400</div><div class="box100">500</div><div class="box100">600</div><div class="box100">700</div><div class="box100">800</div><div class="box100 wow animate__animated animate__fadeIn">900</div><div class="box100">1000</div><div class="box100">1100</div><div class="box100">1200</div></div>
</template><script>
import { WOW } from "wowjs";
export default {components: {},data() {return {};},computed: {},mounted() {this.$nextTick(() => {let wow = new WOW({boxClass: "wow", //需要执行动画元素的ClassanimateClass: "animated", //animation.css动画的Classoffset: 0, //距离可视区域多少开始执行动画mobile: true, //是否在移动设备执行动画live: false, //异步加载的内容是否有效});wow.init();});},
};
// 介绍
// data-wow-duration:更改动画持续时间 data-wow-delay:动画开始前的延迟
// data-wow-offset:开始动画的距离(与浏览器底部相关)
// data-wow-iteration:动画的次数重复(无限次:infinite)
</script>
<style lang="scss" scoped >
.warp {font-size: 30px;.box100 {height: 100px;background: #3a8ee6;border: 1px solid black;}
}
</style>
Vue+wow.js+animate.css-实现页面滚动可视区域动画效果展示-案例相关推荐
- 【vue】用WOW.js+animate.css实现页面滚动加载元素动画
一.场景 在很多的网站中,我们发现在滚动条滑动的时候一些元素显示出来的时候是有一些动画效果的,这样看起来页面更具有活力,增加用户体验.当然这些动画我们可以通过判断滚动条的位置或者判断元素距离可视窗口的 ...
- 【技术】nuxt中引入wow和animate.css随页面滚动出现动画
通过nodejs安装 cnpm install wowjs --save-dev 安装成功后:"package.json "wowjs": "^1.1.3&qu ...
- 【自己的整理】页面滚动时触发动画特效 wow.js + Animate.css
在页面添加初始动画特效 在页面添加初始动画特效的时候无意接触到wow.js 这个动画库配合Animate.css可以按照模板快速创建动画效果,虽然动画效果就像ppt里面的动画效果一样... 环境设置 ...
- 页面滚动时触发动画特效 wow.js + Animate.css
在页面添加初始动画特效 在页面添加初始动画特效的时候无意接触到wow.js 这个动画库配合Animate.css可以按照模板快速创建动画效果,虽然动画效果就像ppt里面的动画效果一样... 环境设置 ...
- Nuxtjs上使用wow.js+animate.css实现滚动加载动画
最近做个官网(技术栈使用Nuxt)需要用到滑动到可视区域才触发动画效果,几乎所有的页面都要"动"起来,手写要累死的节奏,赶紧寻找工具!发现wow.js+animate.css可以满 ...
- wow.js+animate.css实现滚动加载动画
迅雷官网有这种效果: 迅雷网络-关于我们迅雷是全球领先的共享计算与区块链技术创新企业,公司成立于2003年,基于深耕十几年.获得国际专利的P2SP下载加速技术优势,面向个人用户和企业用户打造了丰富的下 ...
- 使用wow.js和animate.css实现页面滚动动画效果
wow.js是一款结合了Animate.css,可以在页面向下滚动时,为页面中的元素加载动画的js. 项目地址:GitHub - graingert/WOW: Reveal CSS animation ...
- vue3.0+ts+wow.js+animate.css
1.安装wow.js npm install wow.js --save # or yarn add wow.js 2.安装animate.css npm install animate.css -- ...
- angular7 wow.js + animate.css
因为需要在原来angular 中做滚动条,元素执行动画, 所以想到wow.js wow.js 是一个轻量的小型的动画库 .废话不多说 首先: npm 下载 npm install --save wow ...
最新文章
- [CQOI2007]涂色PAINT
- matlab字母随机排列,matlab_一组数据元素随机排列
- 小程序-wepy学习
- oracle 清空表数据的2种方式及速度比较
- 基于springboot2.x集成缓存注解及设置过期时间
- Java TheadLocal
- 使用url参数传递SAP Analytics Cloud filter的一个例子
- GCP发布Kaniko:在非特权容器和Kubernetes中构建容器镜像的工具
- 讲故事形式解释什么是股票_讲故事的人可以教公开领导者什么
- MATLAB是一种面向数值计算,MATLAB是一种面向数值计算的高级程序设计语言。
- Steger算法(Line_Gauss)-光条中心线提取(基于Hessian矩阵)
- 「深度」物料成本不到1500的iPhone6s凭什么5288元起售?
- 服务器里那个文件是地图的爆率,dnf这才是固伤职业最喜欢的地图,气息爆率是巨龙的4倍!...
- linux 查看ps命令大全,linux中ps命令使用大全
- asp.net汉字转拼音 可返回拼音首字母
- Snowy小诺 前端关闭Eslint校验 yarn
- 【find128】项目
- 岗位po是什么意思_敏捷开发团队中PO和SM角色介绍
- 103.网络安全渗透测试—[权限提升篇1]—[Linux内核漏洞提权]
- 如何在r的图片中画出特定点的水平线和垂直线_平面设计新手如何利用点线面进行构图...
热门文章
- VanillaNet:深度学习极简主义的力量
- xv6 - lab0 - 操作系统组织
- 《炬丰科技-半导体工艺》用于化合物半导体应用的绝缘体上硅衬底
- 按键修改阈值功能、报警功能、空气质量功能实现(STM32)
- AMD Ryzen 集成显卡Ubuntu驱动安装
- 不论你技术多牛逼,这13条职场“潜规则”,越早知道越好!
- 【C++】C++前言
- 国外的优秀开源免费虚拟主机管理系统For Linux/Unix/FreeBSD
- 课后作业5:进程的同步与互斥
- comsol 4.4 matlab,如何使用COMSOL with MATLAB的清单