2011-09-30 84 views

回答

16

getBoundingClientRect()是您的朋友,并且在所有浏览器的最新版本(Firefox 3,Safari 4,Chrome,Opera 9.5,IE 5)中都受支持。它会给你不过坐标相对于视而非页面,所以你需要在文档上的滚动量增加:

function getPageTopLeft(el) { 
    var rect = el.getBoundingClientRect(); 
    var docEl = document.documentElement; 
    return { 
     left: rect.left + (window.pageXOffset || docEl.scrollLeft || 0), 
     top: rect.top + (window.pageYOffset || docEl.scrollTop || 0) 
    }; 
} 
+1

+1“是你的朋友” – awm

+0

真棒,谢谢:)。 +1是纯粹可爱的javascript。 – Ejaz

相关问题