document.documentElement.getBoundingClientRect 淡淡的烟草味﹌ 2022-06-17 21:09 195阅读 0赞 # getBoundingClientRect() 来获取页面元素的位置 # document.documentElement.getBoundingClientRect 该方法获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置。也不好理解,下面用图说明下。 该方法已经不再是IE Only了,FF3.0+和Opera9.5+已经支持了该方法,可以说在获得页面元素位置上效率能有很大的提高,在以前版本的Opera和Firefox中必须通过循环来获得元素在页面中的绝对位置。 ![0_1318061066151c.gif][] ![0_13180610804a4w.gif][] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Demo</title> </head> <body style="width:2000px; height:1000px;"> <div id="demo" style="position:absolute; left:518px; right:100px; width:500px; height:500px; background:#CC0000; top: 114px;">Demo为了方便就直接用绝对定位的元素</div> </body> </html> <script> document.getElementById('demo').οnclick=function (){ if (document.documentElement.getBoundingClientRect) { alert("left:"+this.getBoundingClientRect().left) alert("top:"+this.getBoundingClientRect().top) alert("right:"+this.getBoundingClientRect().right) alert("bottom:"+this.getBoundingClientRect().bottom) var X= this.getBoundingClientRect().left+document.documentElement.scrollLeft; var Y = this.getBoundingClientRect().top+document.documentElement.scrollTop; alert("Demo的位置是X:"+X+";Y:"+Y) } } </script> 转自:http://www.cnblogs.com/qieqing/archive/2008/10/06/1304399.html [0_1318061066151c.gif]: /images/20220618/52535a1a2e0d4b7aaa51f10fc27acae2.png [0_13180610804a4w.gif]: /images/20220618/4cdf8c7f0ef34a0ebbe4cbb725cb35cb.png
还没有评论,来说两句吧...