wow.js中各种特效对应的类名

本文详细介绍Wow.js动画插件的使用方法,包括如何引入animate.css和wow.js,设置动画元素及其属性,如动画样式、持续时间、延迟时间和执行次数。通过实际测试,解释各种动画效果,如rollIn、bounceIn、slideInUp等,并提供调整技巧。

一、首先说明一下怎么使用这个插件:

1、wow.js依赖于animate.css,首先在头部引用animate.css或者animate.min.css。

<link rel="stylesheet" type="text/css" href="css/animate.min.css">

2、在最底部引用wow.js或者wow.min.js,然后再下面再写一行javascript代码。(无需引用jQuery)

<script type="text/javascript" src="js/wow.min.js"></script>
<script type="text/javascript">
    new WOW().init();
</script>

注意new WOW().init();中的WOW要大写,否则就没效果了。

3、在css下方js上方写需要动画的元素(必须设置为块状或者行内块状!必须设置为块状或者行内块状!必须设置为块状或者行内块状!),并添加class类名。

<div class="wow slideInLeft" data-wow-duration="2s" data-wow-delay="5s" data-wow-offset="10"  data-wow-iteration="10"></div>

类名前面的wow是每一个带动画的元素都要加的,slideInLeft就是说明动画样式。后面的data-wow-duration(动画持续时间)、data-wow-delay(动画延迟时间)、data-wow-offset(元素的位置露出后距离底部多少像素执行)和data-wow-iteration(动画执行次数)这四个属性可选可不选。

4、为了写文章专门测试了一下data-wow-offset和data-wow-iteration这两个属性,其中data-wow-offset="数值"中的数值是动画完成后元素距离显示器底部的位置,而不是距离浏览器窗口底部的位置。

二、步入正题,下面依次测试各种class类名的动画效果。(力求通俗易懂)

wow rollIn从左到右、顺时针滚动、透明度从100%变化至设定值
wow bounceIn从原位置出现,由小变大超出设定值,再变小小于设定值,再回归设定值、透明度从100%变化至设定值
wow bounceInDown从上往下、掉下来以后会向下超出一部分然后弹跳一下、透明度为设定值不变
wow bounceInUp从下往上、窜上来以后会向上超出一部分然后弹回去、透明度为设定值不变
wow bounceInLeft从左往右、移过来以后会向右超出一部分然后往左弹一下、透明度为设定值不变
wow bounceInRight从右往左、移过来以后会向左超出一部分然后往右弹一下、透明度为设定值不变
wow slideInUp从下往上、上来后固定到设定位置、透明度为设定值不变(up是从下往上)(如果元素在最下面,会撑开盒子高度)
wow slideInDown从上往下、上来后固定到设定位置、透明度为设定值不变
wow slideInLeft从左往右、上来后固定到设定位置、透明度为设定值不变(left却是从左往右)
wow slideInRight从右往左、上来后固定到设定位置、透明度为设定值不变
wow lightSpeedIn从右往左、头部先向右倾斜,又向左倾斜,最后变为原来的形状、透明度从100%变化至设定值
wow pulse原位置放大一点点在缩小至原本大小、透明度为设定值不变(配合动画执行次数属性效果更佳)
wow flipInX原位置后仰前栽、透明度从100%变化至设定值
wow flipInY原位置左右旋动、透明度从100%变化至设定值
wow bounce上下抖动、透明度为设定值不变(配合动画执行次数和动画持续时间属性可以实现剧烈抖动亦或是慢慢抖)
wow shake左右抖动、透明度为设定值不变(配合动画执行次数和动画持续时间属性可以实现剧烈抖动亦或是慢慢抖)
wow swing左右抖动、透明度为设定值不变(配合动画执行次数和动画持续时间属性可以实现剧烈抖动亦或是慢慢抖)
wow bounceInU原位置不变、直接从不显示到显示(无过过渡效果)
wow wobble原位置不变、类似于一个人站在那左右晃头、透明度为设定值不变

测试了这么多终于摸到窍门了,打开引用的animate.css或者animate.min.css,里面@keyframes定义了各种动画,将wow后面的类名替换一下测试效果就可以了。


        https://daneden.github.io/animate.css/          也可以在这个地方看各种演示

四、配合data-wow-duration(动画持续时间)、data-wow-delay(动画延迟时间)、data-wow-offset(元素的位置露出后距离底部多少像素执行)和data-wow-iteration(动画执行次数)这四个属性可以完成很多效果,主要还是多实践。

五、IE6、IE7 等老旧浏览器不支持 CSS3 动画,所以没有效果;而 wow.js 也使用了 querySelectorAll 方法,IE 低版本会报错。为了达到更好的兼容,最好加一个浏览器及版本判断。

### 动态类名绑定在 Pug.js 中的实现方法 在 Pug.js 中,动态类名绑定可以通过多种方式实现,具体取决于绑定逻辑的复杂程度以及是否需要结合 JavaScript 数据源。以下是几种常见的实现方式: #### 1. 使用条件表达式绑定类名 Pug 支持通过内联条件表达式为元素动态绑定类名。以下是一个简单的示例: ```pug div(class=(isActive ? 'active-class' : 'inactive-class')) ``` 上述代码中,`isActive` 是一个布尔值变量。如果 `isActive` 为 `true`,则该 `div` 元素将应用 `active-class`;否则应用 `inactive-class`[^1]。 #### 2. 使用数组绑定多个类名 当需要为一个元素绑定多个类名时,可以使用数组语法。例如: ```pug div(class=['base-class', isActive && 'active-class', isDisabled && 'disabled-class']) ``` 在上述代码中: - `base-class` 始终会被应用。 - 如果 `isActive` 为 `true`,则 `active-class` 会被添加。 - 如果 `isDisabled` 为 `true`,则 `disabled-class` 会被添加。 这种语法允许灵活地根据条件动态绑定多个类名。 #### 3. 使用对象绑定类名 对象语法是另一种动态绑定类名的方式,尤其适合复杂的条件逻辑。例如: ```pug div(class={ 'base-class': true, 'active-class': isActive, 'disabled-class': isDisabled }) ``` 在此示例中: - `base-class` 始终存在,因为其对应的值为 `true`。 - `active-class` 是否存在取决于 `isActive` 的值。 - `disabled-class` 是否存在取决于 `isDisabled` 的值。 这种方式非常适合处理多条件下的类名绑定问题。 #### 4. 结合 JavaScript 数据源动态生成类名 在更复杂的场景下,可以将 Pug 模板与 JavaScript 数据源结合,动态生成类名。例如: ```pug - let item = { name: 'Item 1', isActive: true, isDisabled: false }; div(class=[ 'item', item.isActive && 'active', item.isDisabled && 'disabled' ]) | #{item.name} ``` 上述代码中,`item` 是一个包含状态信息的对象。根据 `item.isActive` 和 `item.isDisabled` 的值,动态决定是否应用 `active` 或 `disabled` 类名[^1]。 #### 5. 使用模板引擎的循环功能绑定动态类名 在需要批量渲染多个元素时,可以结合 Pug 的循环功能动态绑定类名。例如: ```pug - let items = [ { name: 'Item 1', isActive: true }, { name: 'Item 2', isActive: false } ]; each item in items div(class=['item', item.isActive && 'active']) | #{item.name} ``` 上述代码会生成两个 `div` 元素,其中第一个元素具有 `active` 类名,而第二个元素没有[^1]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值