Javascript错误:需要对象......很难解决这个问题

时间:2010-05-29 20:50:07

标签: javascript object

情况是这样的:我的一位朋友邀请她帮助她建立一个名为www.KeepsakePartyInvitations.com的网站。她的原始设计师创建了这个代码,但没有完成该项目。所以我在这里帮助拯救这一天。

现在,将照片添加到聚会模板并将鼠标放在图像上方后,右侧会显示一条替代文字信息。如有必要,该消息会通知访问者如何重新定位和调整图像大小。

我正在测试邀请中的程序以重新定位图像。我按照有关移动图片的说明进行操作,但鼠标不会放开照片。鼠标移动的位置,图像也移动。如果要调整图像大小,按照指示但图像不会调整大小,则会出现同样的情况。

我检查IE 8中的错误消息,并说明:

  

消息:需要对象

     

行:873

     

Char:3

     

代码:0

     

URI:http://www.keepsakepartyinvitations.com/Includes/JCode.js

当我检查Javascript文件时,第873行说明:

tempX = e.clientX + document.body.scrollLeft

如果查看javascript文件,则会调用该行所在的函数:function getMouseXY(e)

请帮助我,自从我使用Javascript以来已经有很长一段时间了,我很有动力将其修复。

1 个答案:

答案 0 :(得分:1)

我认为document.body在严格模式下没有scrollLeft属性

但是,您使用的是哪种doctype?我问这个是因为document.body.scrollLeftdocument.documentElement.scrollLeft的使用取决于doctype。你不能只是在同一行上将它们加在一起

我会重写你的代码

tempX = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
tempY = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;

作为

tempX = e.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
tempY = e.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);

当然,请检查代码中的其他此类实例