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 相关文章推荐
如何在Web页面上直接打开、编辑、创建Office文档
Mar 12 Javascript
一个检测表单数据的JavaScript实例
Oct 31 Javascript
Javascript通过overflow控制列表闭合与展开的方法
May 15 Javascript
Bootstrap基本插件学习笔记之Popover提示框(19)
Dec 08 Javascript
JavaScript奇技淫巧44招【实用】
Dec 11 Javascript
js css自定义分页效果
Feb 24 Javascript
Vue 2.0 服务端渲染入门介绍
Mar 29 Javascript
如何在AngularJs中调用第三方插件库
May 21 Javascript
vue.js实现的经典计算器/科学计算器功能示例
Jul 11 Javascript
为什么说JavaScript预解释是一种毫无节操的机制详析
Nov 18 Javascript
在Create React App中使用CSS Modules的方法示例
Jan 15 Javascript
JS实现纸牌发牌动画
Jan 19 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
我的论坛源代码(三)
2006/10/09 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
event对象的方法 兼容多浏览器
2009/06/27 Javascript
JavaScript的public、private和privileged模式
2009/12/28 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
浅析JS中document对象的一些重要属性
2014/03/06 Javascript
Javascript检查图片大小不要让大图片撑破页面
2014/11/04 Javascript
javascript计时器详解
2015/02/28 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
JS中事件冒泡和事件捕获介绍
2016/12/13 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
2017/01/13 Javascript
微信小程序 MD5的方法详解及实例代码
2017/03/10 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
angular-cli修改端口号【angular2】
2017/04/19 Javascript
vue 引入公共css文件的简单方法(推荐)
2018/01/20 Javascript
一文了解Vue中的nextTick
2019/05/06 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
python Pandas 读取txt表格的实例
2018/04/29 Python
Django框架验证码用法实例分析
2019/05/10 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
Python读取yaml文件的详细教程
2020/07/21 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
高级护理专业毕业生推荐信
2013/12/25 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
母亲节感恩活动记录
2014/03/16 职场文书
企业法人代表证明书
2014/09/27 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
学校教学管理制度
2015/08/06 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书