在一些網頁上,當你滾動頁面的時候會看到各式各樣的元素動畫效果,非常動感。WOW.js 就是一款幫助你實現這種 CSS 動畫效果的插件,很容易定制,你可以改變動畫設置喜歡的風格、延遲、長度、偏移和迭代等。
WOW.js 依賴 animate.css,所以它支持 animate.css 多達 60 多種的動畫效果,能滿足您的各種需求。
但是大家都直接wow.js不能像RevealScroll一樣,當網頁上下滾動頁面的時候都有效果,wow.js只能實現一次,怎么樣讓wow.js也能上下滾動的時候有效果呢,經君度網絡公司修改了核心代碼后已經實現效果。下面給出下載地址,提供給大家直接使用!
下載地址:http://www.jeendo.com/script/wow/wow.min2.js
來源:http://www.jeendo.com/news/336.html
【用法】
在做項目中,有時需要做到滾動條滑到某個位置時,才能顯示動畫,wow.js插件可以很好的解決問題
下面說明一下怎么使用這個插件:
1、wow.js依賴於animate.css,首先在頭部引用animate.css或者animate.min.css
<link rel="stylesheet" href="https://daneden.github.io/animate.css/animate.min.css">
2.在最底部引用wow.js或者wow.min.js,然后再下面再寫一行javascript代碼(無需引用jQuery)
<script type="text/javascript" src="http://www.jeendo.com/script/wow/wow.min2.js"></script> 實現上下滾動頁面都有效果
<script type="text/javascript" src="https://cdn.dowebok.com/131/js/wow.min.js"></script> 實現向下滾動頁面都有效果
<script type="text/javascript"> new WOW().init(); </script>
如果需要自定義配置,可如下使用:
var wow = new WOW({ boxClass: 'wow', animateClass: 'animated', offset: 0, mobile: true, live: true }); wow.init();
3、在css下方js上方寫需要動畫的元素(必須設置為塊狀或者行內塊狀),並添加class類名
在需要動畫的標簽上添加.wow 和 你的動畫元素即可
<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(動畫執行次數)這四個屬性可選可不選
注意:其中data-wow-offset="數值"中的數值是動畫完成后元素距離顯示器底部的位置,而不是距離瀏覽器窗口底部的位置。
【下面依次測試各種class類名的動畫效果】
wow rollIn | 從左到右、順時針滾動、透明度從100%變化至設定值 |
wow bounceIn | 從原位置出現,由小變大超出設定值,再變小小於設定值,再回歸設定值、透明度從100%變化至設定值 |
wow bounceInUp | 從下往上、竄上來以后會向上超出一部分然后彈回去、透明度為設定值不變 |
wow bounceInDown | 從上往下、掉下來以后會向下超出一部分然后彈跳一下、透明度為設定值不變 |
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 | 原位置不變、類似於一個人站在那左右晃頭、透明度為設定值不變 |
【效果】
配合data-wow-duration(動畫持續時間)、data-wow-delay(動畫延遲時間)、data-wow-offset(元素的位置露出后距離底部多少像素執行)和data-wow-iteration(動畫執行次數)這四個屬性可以完成很多效果,主要還是多實踐
【兼容】
IE6、IE7 等老舊瀏覽器不支持 CSS3 動畫,所以沒有效果;而 wow.js 也使用了 querySelectorAll 方法,IE 低版本會報錯。為了達到更好的兼容,最好加一個瀏覽器及版本判斷