0

我有我的游戏地图,我有一个脚本,单击时会在地图上显示鼠标坐标的警报。

地图比例为 1 地图单位到 2.5 像素,地图从 -600、600 开始,然后下降到 600、1700。因此我不能简单地扔掉鼠标的像素。

我得到了它的工作(并且对此感到非常高兴)但是唉 IE(6)有问题。我已将其范围缩小到 IE 无法正确获取滚动参数。

这是出现故障的相关代码,但完整代码位于http://woarl.com/map/ieMap.html

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

谢谢你的帮助

4

2 回答 2

4

尝试:

tempX = event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft);
tempY = event.clientY + (document.documentElement.scrollTop || document.body.scrollTop);

检查了您的页面,并且 DOCTYPE 将 IE 置于标准模式,因此scrollXXX您想要的属性实际上位于document.documentElement,而不是document.body.

于 2009-01-14T15:42:52.817 回答
2

鼠标坐标位置很糟糕,因为规范没有指出它们是否应该与文档或视窗相关,等等。在http://www.quirksmode.org/js/events_properties.html的底部有一个很好的问题描述,以及一个可以在所有浏览器上运行的脚本示例。

特别是看起来您需要添加document.documentElement.scroll(Left|Top)event 和 document.body 参数。

于 2009-01-14T15:43:42.240 回答