2010-09-11 65 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

相关问题