Heim >Web-Frontend >js-Tutorial >JS实现拖动示例代码_javascript技巧

JS实现拖动示例代码_javascript技巧

WBOY
WBOYOriginal
2016-05-16 17:17:591413Durchsuche

getBoundingClientRect() 来获取页面元素的位置

复制代码 代码如下:

document.documentElement.getBoundingClientRect

该方法返回一个对象,从而获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置,即分别代表该元素上、左、右、下四条边界相对于浏览器窗口左上角(注意,不是文档区域的左上角)的偏移像素值。并且该方法已经不再是IE Only了,FF3.0+和Opera9.5+已经支持了该方法,可以说在获得页面元素位置上效率能有很大的提高,所以获取页面上某个元素相对于浏览器窗口的偏移量就成了getBoundingClientRect的用武之地了,按照一篇文章的说法,it's awsome,太帅了=。=因为不必纠结于offset、pagex、clientx等等等等等等。在以前版本的Opera和Firefox中必须通过循环来获得元素在页面中的绝对位置。
JS实现拖动示例代码_javascript技巧 
JS实现拖动示例代码_javascript技巧 
代码示例:
复制代码 代码如下:





Demo



Demo为了方便就直接用绝对定位的元素



<script> <BR>document.getElementById('demo').onclick=function (){ <BR>if (document.documentElement.getBoundingClientRect) { <BR>alert("left:"+this.getBoundingClientRect().left) <BR>alert("top:"+this.getBoundingClientRect().top) <BR>alert("right:"+this.getBoundingClientRect().right) <BR>alert("bottom:"+this.getBoundingClientRect().bottom) <BR><strong>var X= this.getBoundingClientRect().left+document.documentElement.scrollLeft; <BR>var Y = this.getBoundingClientRect().top+document.documentElement.scrollTop; <BR>alert("Demo的位置是X:"+X+";Y:"+Y) <BR>} <BR>} <BR></script>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn