2011-04-11 174 views
0

我已閱讀衝突腳本的Jquery文檔頁面。但我不是很瞭解它。而且,它是多個衝突的.js文件,並且它們具有相同的名稱以便引導。 (但它們在內部是不一樣的。)衝突的腳本

我有一組.js魚眼效果。然後我有另一套.js可拖動。 Draggable不適用於魚眼腳本,反之亦然。

These links are for the fisheye effect. 

    <script type="text/javascript" src="HandFan/jquery-1.js"></script> 
    <script type="text/javascript" src="HandFan/ui_003.js"></script> 
    <script type="text/javascript" src="HandFan/ui.js"></script> 
    <script type="text/javascript" src="HandFan/effects.js"></script> 
    <script type="text/javascript" src="HandFan/ui_002.js"></script> 

These files are for draggable. 
    <script type="text/javascript" src="Draggable/jquery-1.js"></script> 
    <script type="text/javascript" src="Draggable/ui.js"></script> 
    <script type="text/javascript" src="Draggable/ui_002.js"></script> 

從我瞭解的是什麼文檔說,

File1.noConflict(); 

// Use script File1 via File1(...) 
File1(document).ready(function(){ 
    File1("div").hide(); 
}); 

// Use script File2 with $(...), etc. 
$('someid').hide(); 

我不知道如何處理關於多個文件做了,我敢肯定,這充分說明我是如何利用新對此。

編輯

網上通緝後,我認爲這將做我好使用單個jquery.1.3.2.js文件,由谷歌主持。但是,這並不奏效。所以看起來我的問題是我需要上面的每個腳本來爲我的效果工作,這對我來說似乎是浪費。有沒有更有效的方法來做到這一點?

回答

1

我不完全理解爲什麼你需要多次包含jQuery。例如,如果您已將jQuery進一步包含在頁面中,則可拖動插件將正常工作。對於包含的任何UI腳本也是如此。

你的腳本聲明很可能會像這樣工作更好:

<script type="text/javascript" src="scripts/jquery-1.js"></script> 
<script type="text/javascript" src="scripts/ui.js"></script> 
<script type="text/javascript" src="scripts/ui_002.js"></script> 

<script type="text/javascript" src="HandFan/effects.js"></script> 
<script type="text/javascript" src="HandFan/ui_003.js"></script> 

可拖動的東西應該能正常運行,而不需要有自己的一套定義相同的基礎庫。

鑑於這可能不適合你,讓我們看看它是否是問題的jQuery文件。

jQuery noConflict()方法允許您分配不同的變量來調用jQuery而不是非常常見的$符號。看看以下工作:

var j = jQuery.noConflict(); 

然後,您可以使用字母J,你通常會使用$。例如:

j('#myElement').draggable(); 
+0

這就是我的想法,但是當我刪除「重複」他們停止工作。當我查看文件本身的內容時,它們是不同的。我通過各種教程和演示在線獲得了這些腳本。所以他們可能被修改了。 – 2011-04-11 01:02:06