2010-08-05 106 views
0

我在IE中使用clientXclientY獲得鼠標單擊的屏幕座標。我正在使用這些座標在openlayers地圖上繪製一個點,但是,x軸始終是完美的,但y軸總是精確到86像素。目前我正在通過做clientY - 86來解決這個問題,但顯然這不是一個長期的解決方案。有誰知道這個86是什麼/在哪裏,以及我如何在飛行中獲得價值?Javascript鼠標位置問題

+0

如果您向我們展示您正在使用的代碼片段來確定座標 – Sebs 2010-08-05 12:39:57

回答

0

JavaScript使用屏幕的左上角作爲定位的基礎。

x座標是由在屏幕的左側和指針之間的距離來計算

y座標是由屏幕和指針的頂側之間的距離來計算,這是因爲總像素數量您的最愛酒吧,地址欄,..佔有是86像素,這個結果可能看起來有點奇怪

+0

謝謝,您知道我可以如何計算所有這些工具欄佔用的像素數嗎? Obvioulsy每個人的設置是不同的,我需要一致的xy 謝謝 – user357535 2010-08-05 14:40:18

+0

我不知道這是否可能在一個漂亮的方式(我沒有那麼多的JS大師,我所知道的是,在JS中的鼠標定位就像去地獄一樣),但迴文提供的鏈接似乎是一個好的開始。 另一種解決方案可能是將您希望使用這些座標的站點的一部分放置在屏幕頂部的固定高度。 – Molske 2010-08-06 08:35:47

0

看來你是比較視圖區域中的鼠標的x/y與實際的x/y屏幕上的位置。

clientX和clientY在可視瀏覽器窗口中返回鼠標座標,而不是用戶整個屏幕。