JS实现拖动示例代码


Posted in Javascript onNovember 01, 2013

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

document.documentElement.getBoundingClientRect

该方法返回一个对象,从而获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置,即分别代表该元素上、左、右、下四条边界相对于浏览器窗口左上角(注意,不是文档区域的左上角)的偏移像素值。并且该方法已经不再是IE Only了,FF3.0+和Opera9.5+已经支持了该方法,可以说在获得页面元素位置上效率能有很大的提高,所以获取页面上某个元素相对于浏览器窗口的偏移量就成了getBoundingClientRect的用武之地了,按照一篇文章的说法,it's awsome,太帅了=。=因为不必纠结于offset、pagex、clientx等等等等等等。在以前版本的Opera和Firefox中必须通过循环来获得元素在页面中的绝对位置。
JS实现拖动示例代码 
JS实现拖动示例代码 
代码示例:
<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>
Javascript 相关文章推荐
070823更新的一个[消息提示框]组件 兼容ie7
Aug 29 Javascript
js 关于=+与+=日期函数使用说明(赋值运算符)
Nov 15 Javascript
通过location.replace禁止浏览器后退防止重复提交
Sep 04 Javascript
浅谈js的setInterval事件
Dec 05 Javascript
node.js中的http.response.setHeader方法使用说明
Dec 14 Javascript
Jquery的基本对象转换和文档加载用法实例
Feb 25 Javascript
Javascript基础回顾之(三) js面向对象
Jan 31 Javascript
p5.js入门教程之平滑过渡(Easing)
Mar 16 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
Sep 29 Javascript
微信小程序实现简单表格
Feb 14 Javascript
javascript function(函数类型)使用与注意事项小结
Jun 10 Javascript
JS数组方法slice()用法实例分析
Jan 18 Javascript
多种方法实现JS动态添加事件
Nov 01 #Javascript
基于jquery插件实现常见的幻灯片效果
Nov 01 #Javascript
jQuery Mobile 导航栏代码
Nov 01 #Javascript
js将json格式内容转换成对象的方法
Nov 01 #Javascript
JS实现切换标签页效果实例代码
Nov 01 #Javascript
Javascript delete 引用类型对象
Nov 01 #Javascript
理解Javascript闭包
Nov 01 #Javascript
You might like
浅析php创建者模式
2014/11/25 PHP
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
javascript小数精度丢失的完美解决方法
2016/05/31 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
微信小程序实现多宫格抽奖活动
2020/04/15 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
layui实现点击按钮给table添加一行
2018/08/10 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
2018/08/25 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
2019/12/06 Javascript
python正则表达式match和search用法实例
2015/03/26 Python
名片管理系统python版
2018/01/11 Python
python爬取m3u8连接的视频
2018/02/28 Python
Python3连接SQLServer、Oracle、MySql的方法
2018/06/28 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
Numpy之文件存取的示例代码
2018/08/03 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
Python OpenCV 使用滑动条来调整函数参数的方法
2019/07/08 Python
使用python的pyplot绘制函数实例
2020/02/13 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
全球领先美式家具品牌:Ashley爱室丽家居
2017/08/07 全球购物
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
结婚典礼证婚词
2014/01/11 职场文书
售后服务承诺书范文
2014/03/26 职场文书
蓝颜请假条
2014/04/11 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
JAVA API 实用类 String详解
2021/10/05 Java/Android