2010-09-11 64 views
2

包含錯誤代碼是:Javascript在FF和IE中工作..但Chrome說「不能調用null的方法」!

var Slide = new Class({ 
    initialize: function(triggers, panels) { 
     this.triggers = $(triggers).getElements('a[rel=content1-1]'); 
     this.panels = $(panels).getElements('ul[class=rel-content1-1]'); 
     this.active = -1; 
     this.toggle(); 
    }, ... 
}) 

這是從後來被稱爲在同一個文件:

function activateSliders() { 
    var slide_1 = new Slide('aCol', 'content'); 
    var slide_2 = new SlideTwo('content', 'content2', 'content2-hider'); 
} 
window.onload = activateSliders(); 

爲什麼鉻 - 只有瀏覽器 - 計算$(triggers)爲NULL?

+8

'的window.onload = activateSliders();'應該是'在window.onload = activateSliders;'因爲你設置的window.onload實際功能,而不是函數的結果。 – jhartz 2010-09-11 21:31:10

+0

你在使用某種框架嗎?也許Mootools? – spender 2010-09-11 21:31:55

+0

啊,好點@ jake33。我假設jQuery在這裏被使用,雖然我可能是非常非常錯誤的。這就是我太倉促的結果。 – karim79 2010-09-11 21:32:11

回答

3

以我的經驗,IE和FF往往是零星慷慨讓jQuery代碼很好地工作沒有它被封裝在一個$(document).ready(塊。嘗試:

$(document).ready(function() { 
    activateSliders(); 
}); 
+0

這工作。而且,關於這個問題的第一個評論(來自jake33)給出了我的代碼不工作的具體原因。感謝你們倆! – 2012-09-25 00:01:13

相關問題