vue页面滚动动画——wow.js教程
WOW.js 是一款帮助你实现滚动页面时触发CSS 动画效果的插件。
缺陷:当页面向下滚动时,动画出现;当页面向上回滚时,动画不会回退。(即动画仅出现一次!)
官网地址 https://www.delac.io/wow/
Demo演示-仿oppo首页 https://www.dowebok.com/demo/131/index2.html
目录
1. 安装
2. 配置
3. 使用
4. 自定义动画持续时间
5. 自定义动画延迟时间
6. 自定义滚动距离
7. 自定义动画重复次数
完整范例代码
1. 安装
npm install wowjs --save-dev
animate.css会自动安装
2. 配置
main.js中
// 动画 animate.css
require('animate.css/animate.min.css');// 滚动动画 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时,设置动画的元素在出现在浏览器可视区域时执行动画
3. 使用
在需要添加滚动动画的 .vue文件中,先初始化wow
mounted() {this.$nextTick(()=>{this.$wow.init()})},
异步加载部分,使用watch初始化
watch: {xxxx() {this.$nextTick(() => { // 在dom渲染完后,再执行动画this.$wow.init()})}
}
完成初始化后,在需要添加动画的元素上,添加上相关动画的类名即可
<div class="wow animate__animated animate__fadeIn">900</div>
wow 为配置中的动画类名,必要!
animate__animated animate__fadeIn 为animate.css 的动画效果,更多动画效果详情见 https://blog.csdn.net/weixin_41192489/article/details/111083527
4. 自定义动画持续时间
添加 data-wow-duration="2s"
<div class="wow animate__animated animate__fadeIn" data-wow-duration="2s">900</div>
5. 自定义动画延迟时间
添加 data-wow-delay="5s"
<div class="wow animate__animated animate__fadeIn" data-wow-delay="5s">900</div>
6. 自定义滚动距离
添加 data-wow-offset="200" 效果:当元素距离可视区域200时开始执行动画(元素顶部到浏览器底部的距离)
<div class="wow animate__animated animate__fadeIn" data-wow-offset="200">900</div>
7. 自定义动画重复次数
添加 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><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 {mounted() {this.$nextTick(()=>{this.$wow.init()})},}
</script>
<style scoped>.box100 {height: 100px;background: #3a8ee6;border: 1px solid black;}
</style>
vue页面滚动动画——wow.js教程相关推荐
- 50天50个前端小项目(纯html+css+js)第六天(页面滚动动画)
今天我们来实现的是页面滚动动画,比如说页面使用鼠标滚轮向下滚动的时候,内容区域会分别从左从右滑动到居中的内容区域,大概效果如下: 接下来来看实现 首先是html: 没什么特别的地方,主要就是设置一些内 ...
- html如何设置滚动动画,JavaScript 实现页面滚动动画
在做前端 UI 效果时,让元素根据滚动位置实现动画效果是一个非常流行的设计,通常我们会使用第三方插件或库来实现.在本教程中,我将教大家使用纯 JavaScript 和 CSS 来实现. 先预览一下实现 ...
- vue页面切换动画-类似于轮播效果、渲染列表给每一行数据加上显示动画
vue页面切换动画-类似于轮播效果 <transition :name="transitionName"><router-view/> </trans ...
- 使用wow.js和animate.css实现页面滚动动画效果
wow.js是一款结合了Animate.css,可以在页面向下滚动时,为页面中的元素加载动画的js. 项目地址:GitHub - graingert/WOW: Reveal CSS animation ...
- 网页滚动特效—WOW.JS快速使用教程
一.wow.js 当页面滚动时产生一些动画效果 页面在向下滚动的时候,有些元素会产生细小的动画效果.虽然动画比较小,但却能吸引你的注意. 所需要的附件:wow.js animate.css(文章最后有 ...
- animate.css 在 vue 脚手架中结合wow.js的应用方法详细介绍
简介 众所周知,animate.css是非常优秀的CSS3动画库,不依赖于jQuery,纯CSS动画,但是不兼容IE8及以下版本,就算用jq控制,性能也不是很好. wowjs向下滚动页面时显示CSS动 ...
- 前端动画 wow.js 效果
让花里胡哨的特效变简单 wow.js动画class介绍 引入css样式以及js插件 <link rel="stylesheet" type="text/css&qu ...
- JavaScript 实现页面滚动动画
先预览一下实现效果: 我们使用 CSS 来实现动画,用 JavaScript 来处理触发所需的样式.我们先来创建布局. 创建布局 我们先使用 HTML 创建页面布局,然后为需要实现动画的元素分配一个通 ...
- 滚动旋钮时禁止页面滚动-jquery.knob.js
jquery.knob.js一款很棒的jquery旋钮插件 gayhub地址:https://github.com/aterrien/jQuery-Knob 当鼠标滚轮作用于旋钮时,禁止页面滚动 $( ...
最新文章
- Mac下使用crontab来实现定时任务
- skyline三维模型规格
- python3 语言翻译相关库
- php input多选,利用css3更改input单选和多选样式的方法
- ASP.NET Core之跨平台的实时性能监控(2.健康检查)
- BZOJ-1798 维护序列
- 1024电商项目的邮箱验证码与图形验证码功能模块
- 海奥华预言--第一章 神秘邀请
- 阿里云服务器对外开放tomcat端口访问
- 【分布式】Zookeeper序列化及通信协议
- ZIGBEE协议栈如何低功耗(CC2530+ZIGBEE2.5)
- 安卓控件button添加背景图片
- 钢琴作品常用体裁名称及曲式
- 二次型相似对角化的原因
- identifier “ “ is undefined 错误
- 如何给图片加水印,图片加水印怎么加
- 简单Java的商品模块功能
- git基础教程(11) git checkout命令,掌握这些足以
- 访韩家炜教授记录(部分)
- 炼石喜获“2020中国网络安全产业联盟突出贡献单位奖”