2009-01-14 86 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參數。