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 相关文章推荐
将HTML自动转为JS代码
Jun 26 Javascript
javascript中使用replaceAll()函数实现字符替换的方法
Dec 25 Javascript
判断用户的在线状态 onbeforeunload事件
Mar 05 Javascript
PHP守护进程实例
Mar 06 Javascript
Bootstrap零基础入门教程(二)
Jul 18 Javascript
JS如何实现在页面上快速定位(锚点跳转问题)
Aug 14 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
Jan 31 Javascript
深入理解Vue nextTick 机制
Apr 28 Javascript
jquery登录的异步验证操作示例
May 09 jQuery
基于layPage插件实现两种分页方式浅析
Jul 27 Javascript
layer更改皮肤的实现方法
Sep 11 Javascript
vue 使用post/get 下载导出文件操作
Aug 07 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
WIN98下Apache1.3.14+PHP4.0.4的安装
2006/10/09 PHP
PHP生成静态页
2006/11/25 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
js字符串的各种格式的转换 ToString,Format
2011/08/08 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
jQuery构造函数init参数分析续
2015/05/13 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
js Canvas绘制圆形时钟效果
2017/02/17 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
微信小程序实现预览图片功能
2020/10/22 Javascript
浅谈JavaScript中的“!!”作用
2020/08/03 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
Python删除指定目录下过期文件的2个脚本分享
2014/04/10 Python
Python爬虫爬验证码实现功能详解
2016/04/14 Python
python验证码识别实例代码
2018/02/03 Python
Python玩转Excel的读写改实例
2019/02/22 Python
python中使用while循环的实例
2019/08/05 Python
python virtualenv虚拟环境配置与使用教程详解
2020/07/13 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
python em算法的实现
2020/10/03 Python
python 实现性别识别
2020/11/21 Python
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
欧克利英国官网:Oakley英国
2019/08/24 全球购物
大学团支书的自我评价分享
2013/12/14 职场文书
公务员综合考察材料
2014/02/01 职场文书
工程质量承诺书
2014/03/27 职场文书
给上级领导的感谢信
2015/01/22 职场文书
Python使用protobuf序列化和反序列化的实现
2021/05/19 Python
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫