wow.js的使用方式

本文详细介绍了WowJS的安装、配置和在Vue项目中的两种常见使用方式,包括动态引入动画和自定义动画类名,以及关键参数设置。适合前端开发者了解如何为页面添加动态视觉效果。

wowjs的使用方式

例子

   <el-row class="header-main wow bounceInDown">
   </el-row>
 ** 需要的动画里面 class 里面 添加 wow 然后在添加动画样试 bounceInDown **

方式一

第一步:安装 cnpm install wowjs --save-dev
第二步:在 main.js 中 引入 css 样式 ‘import ‘wowjs/css/libs/animate.css’’
第三步:在组件中使用

    import { WOW } from 'wowjs'
    mounted() {
        var wow = new WOW({
        boxClass: "wow",    //需要执行动画的元素的 class
        animateClass: "animated", // animation.css 动画的 class
        offset: 0, // 距离可视区域多少开始执行动画
        mobile: true, // 是否在移动设备上执行动画
        live: true // 异步加载的内容是否有效
        })
        wow.init();
     },
   // 或者 
   methods: {
 	initWowAnimate() {
    	const wow = new WOW({
        	boxClass: "wow",    //需要执行动画的元素的 class
        	animateClass: "animated", // animation.css 动画的 class
        	offset: 0, // 距离可视区域多少开始执行动画
        	mobile: true, // 是否在移动设备上执行动画
        	live: false // 异步加载的内容是否有效
    })
    wow.init()
    }
 }
  watch: {
	  $route(to, from) {
	    if (to) {
	        console.log('路由改变了----》', to)
	        this.$nextTick(() => {
	            this.initWowAnimate()
	        })
	    }
    }

方式 二

第一步:安装 cnpm install wowjs --save-dev
第二步:在 main.js 中 引入 css 样式 ‘import ‘wowjs/css/libs/animate.css’’
第三步:在 main.js 中 挂载 wow ‘Vue.prototype.wow=wow′第四步:在使用页面初始化中的mounted函数中初始化′newthis.wow = wow' 第四步:在使用页面初始化中的 mounted 函数中初始化 'new this.wow=wow第四步:在使用页面初始化中的mounted函数中初始newthis.wow.WOW().init()’

    import { WOW } from 'wowjs'
    mounted() {
    	new this.$wow.WOW().init()
},

参数 可写 可不写

data-wow-duration=‘2s’(动画持续时间)

data-wow-delay=‘1s’(动画延迟时间)

data-wow-offset=‘100’(元素的位置露出后距离底部多少像素执行)

data-wow-iteration=‘10’(动画执行次数)这四个属性可选可不选。

Vue transition 动画

自定义动画类名

<transition enter-active-class="enter-active" leave-active-class="leave-active"> 
      <router-view />
</transition>

<style lang="scss" scoped>
.enter-active {
    animation: bounce-in 0.5s;
}
.leave-active {
    animation: bounce-in 0.5s reverse;
}
@keyframes bounce-in {
    0% {
        transform: scale(0);
    }
    50% {
        transform: scale(1.2);
    }
    100% {
        transform: scale(1);
    }
}
</style>

官方demo

在 pubilc 中引入 cdn 链接
https://cdn.jsdelivr.net/npm/animate.css@3.5.1

 <transition :duration="{ enter: 1000, leave: 3000 }" enter-active-class="animated tada" leave-active-class="animated bounceOutRight">
     <router-view />
 </transition>

animate 动画

安装 animate cnpm install animate.css@3.5.1 --save
main.js 中引入 import “animate.css”

 <transition enter-active-class="animated bounceInLeft" leave-active-class="animated bounceInRight">
      <router-view />
</transition>
### Wow.js 常见问题及解决方案 Wow.js 是一款用于动画展示的 JavaScript 库,依赖于 animate.css 来实现各种进入视口后的动画效果。以下是使用过程中可能遇到的一些常见问题及其对应的解决方案。 #### 1. 动画未触发 如果发现页面滚动时动画并未按预期启动,可能是由于初始化设置不当或缺少必要的配置项。确保已经正确引入了 wow.min.js 文件以及 animate.css 样式表[^1]: ```html <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js"></script> ``` 接着,在文档加载完成后实例化 `new WOW().init();` 方法来激活插件功能。 #### 2. 多次刷新后不再工作 当浏览器缓存机制影响到脚本执行顺序时,可能会造成多次刷新后 Wow.js 不再正常运作的情况。可以在创建新 WOW 对象之前清除之前的实例以防止此类情况发生: ```javascript if (typeof newWOW !== &#39;undefined&#39;) { delete window.newWOW; } var newWOW = new WOW(); newWOW.init(); ``` #### 3. 移动设备上无响应 部分移动操作系统默认禁用了自动播放媒体资源的功能,这同样会影响到 Wow.js 的表现形式。为了使动画能够在移动端顺利运行,建议调整如下参数: ```javascript new WOW({ mobile: true // 默认值为 false ,允许在手机和平板电脑上启用wow.js }).init(); ``` 另外,考虑到不同平台之间的差异性,还可以尝试自定义 offset 属性来微调首次可见区域内的元素位置。 #### 4. 性能优化 对于大型项目而言,过多 DOM 节点的变化会拖慢整体性能。因此推荐仅针对需要应用特效的部分 HTML 结构添加 data-wow-duration 和 data-wow-delay 自定义属性,从而减少不必要的计算开销。 ```html <div class="animated fadeInUp" data-wow-duration="2s" data-wow-delay="0.5s"> <!-- 内容 --> </div> ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值