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 页面分页打印的实现
Jun 22 Javascript
JavaScript Distilled 基础知识与函数
Apr 07 Javascript
为原生js Array增加each方法
Apr 07 Javascript
对之前写的jquery分页做下升级
Jun 19 Javascript
js随机生成网页背景颜色的方法
Feb 26 Javascript
javascript实现unicode与ASCII相互转换的方法
Dec 10 Javascript
Web打印解决方案之证件套打的实现思路
Aug 29 Javascript
js+css3制作时钟特效
Oct 16 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
Sep 04 Javascript
JS实现的缓冲运动效果示例
Apr 30 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
Mar 07 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
Nov 09 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 远程关机实现代码
2009/11/10 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
java解析json方法总结
2019/05/16 PHP
Laravel 错误提示本地化的实现
2019/10/22 PHP
javascript显示选择目录对话框的代码
2008/11/10 Javascript
用JS控制回车事件的代码
2011/02/20 Javascript
从jQuery.camelCase()学习string.replace() 函数学习
2011/09/13 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
2016/06/07 Javascript
用JS实现轮播图效果(二)
2016/06/26 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
原生js实现键盘控制div移动且解决停顿问题
2016/12/05 Javascript
微信小程序单选框自定义赋值
2020/05/26 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
python函数参数*args**kwargs用法实例
2013/12/04 Python
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
Python设计模式之策略模式实例详解
2019/01/21 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
Keras loss函数剖析
2020/07/06 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
2020/09/09 Python
《二泉映月》教学反思
2014/04/15 职场文书
读书月活动方案
2014/05/22 职场文书
室内设计专业自荐信
2014/05/31 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
英语教学课后反思
2016/02/15 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书
MYSQL如何查看进程和kill进程
2022/03/13 MySQL
Android Studio 计算器开发
2022/05/20 Java/Android