官網:http://mynameismatthieu.com/WOW/javascript
建議去官網一看css
下載地址:https://github.com/matthieua/WOWhtml
瀏覽器兼容
IE10+ | Chrome | Firefox | Opera | Safari |
IE六、IE7 等老舊瀏覽器不支持 CSS3 動畫,因此沒有效果;而 wow.js 也使用了 querySelectorAll 方法,IE 低版本會報錯。爲了達到更好的兼容,最好加一個瀏覽器及版本判斷。java
一、wow.js依賴於animate.css,首先在頭部引用animate.css或者animate.min.css。git
1
|
<
link
rel="stylesheet" type="text/css" href="css/animate.min.css">
|
二、在最底部引用wow.js或者wow.min.js,而後再下面再寫一行javascript代碼。(無需引用jQuery)github
1
2
3
4
|
<
script
type="text/javascript" src="js/wow.min.js"></
script
>
<
script
type="text/javascript">
new WOW().init();
</
script
>
|
若是須要自定義配置,可以下使用:瀏覽器
var wow = new WOW({異步
1
2
3
4
5
6
7
|
<em id=
"__mceDel"
> boxClass:
'wow'
,
animateClass:
'animated'
,
offset: 0,
mobile:
true
,
live:
true
});
wow.init();</em>
|
配置
屬性/方法 | 類型 | 默認值 | 說明 |
---|---|---|---|
boxClass | 字符串 | ‘wow’ | 須要執行動畫的元素的 class |
animateClass | 字符串 | ‘animated’ | animation.css 動畫的 class |
offset | 整數 | 0 | 距離可視區域多少開始執行動畫 |
mobile | 布爾值 | true | 是否在移動設備上執行動畫 |
live | 布爾值 | true | 異步加載的內容是否有效 |
注意new WOW().init();中的WOW要大寫,不然就沒效果了。ide
三、在css下方js上方寫須要動畫的元素(必須設置爲塊狀或者行內塊狀!必須設置爲塊狀或者行內塊狀!必須設置爲塊狀或者行內塊狀!),並添加class類名。post
<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(動畫執行次數)這四個屬性可選可不選。
<div class="wow bounce " data-wow-delay="1.5s" data-wow-iteration:"1"></div>
data-wow-duration:更改動畫持續時間
data-wow-delay:動畫開始前的延遲
data-wow-offset:開始動畫的距離(與瀏覽器底部相關)
data-wow-iteration:動畫的次數重複(無限次:infinite)
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-offset和data-wow-iteration這兩個屬性,其中data-wow-offset="數值"中的數值是動畫完成後元素距離顯示器底部的位置,而不是距離瀏覽器窗口底部的位置。
有的網站採用全屏滾動的fullpage插件與wow相結合的方法,實現的效果比較酷炫。咱們徹底能夠仿寫。
可是使用fullpage.js下wow.js無效失效沒動做
問題出在fullpage隱藏了滾動條,將滾動條開啓便可,把scrollBar設置爲true,代碼以下
$('#fullpage').fullpage({
scrollBar:true;
});
最後利用css將滾動條隱藏,將html添加overflowhidden,代碼以下
html{
overflow:hidden;
}