2009-12-08 83 views
1

我有了一個(非原型)的JavaScript彈出的登錄一個簡單的頁面。它一直在正常工作。但是,當我將Prototype框架添加到頁面時,彈出窗口將停止工作。原型框架斷裂其它腳本

<script type="text/javascript" src="recipes/js/prototype.js"></script> 
<script type="text/javascript"> 
var imgnum = 1; 

function nextimg() { 
    /* <![CDATA[ */ 
    imgnum++; 
    if (imgnum > 5) imgnum = 1; 
    var nextimg = 'recipes/img/iphone_' + imgnum + '.png'; 
    var nextimg2 = 'recipes/img/iphone_' + (imgnum + 1) + '.png'; 
    imagepreload = new Image(); 
    imagepreload.src = nextimg2; 
    $('iphoneimg').src=nextimg; 
    /* ]]> */ 
} 
</script> 

我試圖將JS包括到底部,沒有運氣。有任何想法嗎?

而且,它工作正常,在IE瀏覽器,但不火狐或Safari。

+0

是的,原型往往會與其他腳本衝突。任何特定的錯誤消息?那麼如果有一個「$('iphoneimg')」,如果那裏還沒有任何prototype/jquery的話? – 2009-12-08 20:31:53

+0

你用Firebug檢查腳本嗎?它會幫助你找到像這樣的問題。 – 2009-12-08 20:32:36

+0

我沒有收到任何錯誤,只是沒有在Firefox上工作。我確實運行過Firebug,但沒有發現任何錯誤。 – meme 2009-12-08 20:38:45

回答

1

原型採用的是JQuery的也使用(是否使用JQuery?)$函數。

See here

+0

不,我不使用jQuery只是原型。 – meme 2009-12-08 20:37:40

+0

對不起 - 但我需要插上FireBug。你有沒有嘗試過使用它來調試FF上的問題? – Upperstage 2009-12-08 20:41:28

+0

步入函數,直到你有$('iphoneimg')。src = nextimg;並檢查$('iphoneimg')的值。 – Upperstage 2009-12-08 20:46:55

0

確保您的網頁上是否存在 'iphoneimg' 元素。

如果螢火未顯示任何東西,添加一些alert()斷點,看看它靜靜地失敗。

+0

是的,它是通過代碼添加alert()的。登錄框是什麼打破了原型代碼。所以我需要看看那裏。 – meme 2009-12-08 20:54:50

1

看着一段時間的代碼後,我想通了。我的彈出登錄框正在使用toggle()函數。因此,我將toggle更名爲toggle_box,現在問題已解決。