2016-01-13 181 views
0

我開始使用velocity.js和我包括像這樣的文件:

<script src="velocity.js"/> </script> 

,並在腳本的一部分,我寫

window.onload = function(){ 
     $("div").velocity({opacity:1}); 
    } 

休息的功能只是針對div的css,所以不是很重要。

我的問題是,我總是得到錯誤代碼:

Uncaught ReferenceError: $ is not defined 

如果我使用jQuery與.animate沒有這樣的問題出現(但在上面的代碼,我只用速度)。

+0

正在裝載jQuery的?如果你使用'jQuery(「div」)'而不是它仍然會導致錯誤? –

+0

所以你說的是,如果在上面的代碼中真正地將'animate'的'velocity'轉換爲'velocity'對我來說似乎令人難以置信的奇怪。你是否在速度之前加載jquery? – AtheistP3ace

+0

我嘗試使用它自己的速度(如:沒有jQuery),如果我加載jQuery而不是速度,並用.animate替換.velocity,整個事情都可以正常工作。 它也適用於我第一次加載jQuery,然後加載速度,但我想使用它自己的速度,這似乎會導致問題。 – user3553471

回答

0

我認爲你與jQuery有衝突。嘗試使用.noConflict()來避免它。 請參閱:https://api.jquery.com/jquery.noconflict/

$j.noConflict(); 
jQuery(document).ready(function($j) { 
    // Code that uses jQuery's $j can follow here. 
}); 

你試過嗎?

Velocity(document.getElementById("dummy"), { opacity: 0.5 }, { duration: 1000 }); 
+0

我已經在上面的評論中寫過它了:我嘗試在沒有jQuery的情況下使用velocity,所以不會有衝突(?) – user3553471

0

如果您不想使用jQuery,則不能使用$

我以前從來沒有使用過它,但如果這tutorial是正確的,你可以這樣做:

window.onload = function(){ 
    var divs = document.getElementsByTagName("div"); 
    divs.forEach(function(el) { 
     Velocity(el, {opacity:1}); 
    }); 
} 
+0

這是完美的!非常感謝 – user3553471