對於firefox,無論如何確定「視口」(即客戶區)的TopLeft位置?我知道高度/寬度可以通過window.innerHeight和window.innerWidth獲得。但我也需要知道「innerTop」和「innerLeft」(不存在)。Firefox:獲取視口的實際屏幕位置
感謝,
羅布
對於firefox,無論如何確定「視口」(即客戶區)的TopLeft位置?我知道高度/寬度可以通過window.innerHeight和window.innerWidth獲得。但我也需要知道「innerTop」和「innerLeft」(不存在)。Firefox:獲取視口的實際屏幕位置
感謝,
羅布
如果你能得到一個鼠標事件,你可以看看它的event.screenX/screenY屬性和減去event.clientX/clientY屬性。這甚至是跨瀏覽器兼容的(DOM Level 2事件)。
window.innerHeight
- 文檔區域的高度。window.outerHeight
- 整個窗口的高度。您可以從另一箇中減去另一個,從窗口頂部加上文檔區域的距離,再加上狀態欄的高度。
這是迄今爲止最接近的答案!不幸的是,外部高度包括所有的鉻(頂部和底部)。任何想法如何獲得底部的狀態欄區域的大小? – user53794 2009-04-21 18:32:11
試試這個:
document.documentElement.getBoundingClientRect()
這個函數的結果將有一個左和頂部屬性,它會給你你所需要的。
注意:該函數在Fx3中實現,因此您需要爲舊版本進行DOM遍歷offsetParent迭代。
這似乎給從文檔的頂部偏移到視太:
window.pageYOffset
你的意思是你想知道用戶的鍍鉻多大? – 2009-04-17 22:10:27
當然...如果我知道鉻區域(或文檔區域的位置),我會很高興。 – user53794 2009-04-17 22:12:13