2013-01-31 57 views
2

我正在爲客戶構建一個網站,該網站正在使用兩個版本的jQuery。一個版本是針對頂級網站導航鏈接的「Lava Lamp」導航效果。另一個版本用於「Smooth Div」圖像滑塊。即使插入'noConflict'腳本,我也只能讓其中一個或另一個工作,而不能同時工作。之後我刪除了noConflict腳本並將其重新上傳到服務器。運行jQuery的兩個版本,無法獲得'noConflict'工作

這裏是網站:http://www.webexplosive.com/spokes

+1

是切換到一個版本的jQuery是可行的?我相信noConflict釋放全局'$'變量的控制權,但不允許您運行多個版本的jQuery。 –

+0

我甚至沒有看到你在那個網站上使用'noConflict'的地方。你可以發佈你的代碼嗎? –

+0

我說我已經刪除了'noConflict',因爲它要麼做一個或其他的工作,要麼兩者都不。 –

回答

1

當你聲明:

var jQuery_1_2_3 = $.noConflict(true); 

它消除了$別名jQuery的。所以你不能寫:

$(function(){ 
    jQuery_1_2_3(selector).doSomething(); 
}); 

初始$是不確定的。

需要是:

jQuery_1_2_3(function(){ 
     jQuery_1_2_3(selector).doSomething(); 
}); 

或者(如果要使用$document.ready):

/* pass "$" to ready handler argemnent*/ 
jQuery_1_2_3(function($){ 
     /* can use "$" inside read now*/ 
     $(selector).doSomething(); 
}); 

API文檔具有很好的說明和示例

http://api.jquery.com/jQuery.noConflict/

+0

好的,我試過你說的,但它仍然不正確。你可以檢查我的來源,看看我是否正確地按照你的指示? –

+0

只能看到源代碼中的jQuery的一個版本..並且沒有錯誤被拋出 – charlietfl