0

我有一个动态创建的元素,new Element('div')然后淡入、移动和淡出。在每个浏览器中,我的代码都按预期工作——除了 IE 之外的所有浏览器。

Internet Explorer 抱怨这与Prototype's Lighthouse'undefined' is null or not an object上的记录完全相同。

为了得到错误,我写,new Message('Your contact information has been saved');

我的 Message 类的源代码在这个 gist中可用。

4

1 回答 1

2

“Undefined is null of not an object”是一个非常基本的错误消息,可以在很多情况下产生(它是 JScript 中空指针异常的有效等价物)。因此,您的错误不太可能与上述相同。

我没有得到那个错误。我得到“无效参数”,这似乎是由以下原因引起的:

new Effect.Move(_div, {sync: true, x: '50%', y: 35, mode: 'relative' })

如果我将 % 更改为正常的整数像素值,它可以正常工作。记录x为仅接受整数值而不是 CSS 测量值;'%' 在其他浏览器中也不适用于我(充当 0)。我猜你已经完成了这个功能!

正如 Fabien 所提到的,您还需要插入一些var语句,否则您将在全局变量上乱写,如果您尝试创建其中两个,Message 将会爆炸。,另外请注意不要在数组文字中留下尾随(由于注释行),因为这会使 IE 感到困惑。

于 2009-10-15T09:59:12.420 回答