2009-01-14 85 views
0

我有一张适用于我的游戏的地图,我有一个脚本,点击时会在地图上显示鼠标坐标的警报。Internet Explorer中的鼠标坐标

地图比例尺是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; 

感谢所有帮助

+0

你的问题是什么? – cbrulak 2009-01-14 15:41:07

+0

如何使IE浏览器不出错:P – Teifion 2009-01-14 16:27:43

回答

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

+0

辉煌,感谢您的帮助:) – Teifion 2009-01-14 16:38:03

2

鼠标坐标位置很糟糕,由于规格不注明它们是否应该与文档或视图相关等等。这个问题很好的描述,以及在所有浏览器上都可以工作的脚本示例,位于http://www.quirksmode.org/js/events_properties.html的底部。

特别是它看起来像你需要添加document.documentElement.scroll(Left|Top)以及事件和document.body参数。