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 相关文章推荐
MooBox 基于Mootools的对话框插件
Jan 20 Javascript
解决js图片加载时出现404的问题
Nov 30 Javascript
javascript笔记之匿名函数和闭包
Feb 06 Javascript
ES6 Promise对象概念与用法分析
Apr 01 Javascript
JS实现上传图片实时预览功能
May 22 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
Jul 24 Javascript
Vue开发环境中修改端口号的实现方法
Aug 15 Javascript
uploadify插件实现多个图片上传并预览
Sep 30 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
Oct 15 Javascript
通过实例了解Javascript柯里化流程
Mar 03 Javascript
vue使用exif获取图片经纬度的示例代码
Dec 11 Vue.js
前端如何实现动画过渡效果
Feb 05 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
PHP4之COOKIE支持详解
2006/10/09 PHP
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
解决laravel查询构造器中的别名问题
2019/10/17 PHP
ext jquery 简单比较
2010/04/07 Javascript
javascript测试题练习代码
2012/10/10 Javascript
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
JavaScript插件化开发教程 (四)
2015/01/27 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
vue2.0项目中使用Ueditor富文本编辑器示例代码
2017/08/14 Javascript
基于iScroll实现内容滚动效果
2018/03/21 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
vue实现条件叠加搜索的解决方法
2019/05/28 Javascript
ES6中字符串的使用方法扩展
2019/06/04 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
python处理html转义字符的方法详解
2016/07/01 Python
python编程实现随机生成多个椭圆实例代码
2018/01/03 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
详解Python中的正斜杠与反斜杠
2019/08/09 Python
关于Keras Dense层整理
2020/05/21 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
2020/06/02 Python
Python实现曲线拟合的最小二乘法
2021/02/19 Python
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
路政管理专业个人自荐信范文
2013/11/30 职场文书
英文简历自荐信范文
2013/12/11 职场文书
写给女朋友的道歉信
2014/01/08 职场文书
《从现在开始》教学反思
2014/04/15 职场文书
房产协议书范本
2014/10/18 职场文书
刑事辩护词范文
2015/05/21 职场文书
雷锋观后感
2015/06/10 职场文书
校园之声广播稿
2015/08/18 职场文书
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android