源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JS实现拖动示例代码

  • 时间:2021-11-27 16:50 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JS实现拖动示例代码
getBoundingClientRect() 来获取页面元素的位置
[u]复制代码[/u] 代码如下:
document.documentElement.getBoundingClientRect
该方法返回一个对象,从而获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置,即分别代表该元素上、左、右、下四条边界相对于浏览器窗口左上角(注意,不是文档区域的左上角)的偏移像素值。并且该方法已经不再是IE Only了,FF3.0+和Opera9.5+已经支持了该方法,可以说在获得页面元素位置上效率能有很大的提高,所以获取页面上某个元素相对于浏览器窗口的偏移量就成了getBoundingClientRect的用武之地了,按照一篇文章的说法,it's awsome,太帅了=。=因为不必纠结于offset、pagex、clientx等等等等等等。在以前版本的Opera和Firefox中必须通过循环来获得元素在页面中的绝对位置。 [img]http://files.jb51.net/file_images/article/201311/201311011713112.gif?2013101171346[/img]   [img]http://files.jb51.net/file_images/article/201311/201311011714153.gif?2013101171435[/img]   代码示例:
[u]复制代码[/u] 代码如下:
<span style="font-size:14px"><!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').onclick=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) <strong>var X= this.getBoundingClientRect().left+document.documentElement.scrollLeft; var Y = this.getBoundingClientRect().top+document.documentElement.scrollTop;</strong> alert("Demo的位置是X:"+X+";Y:"+Y) } } </script></span>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部