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 相关文章推荐
让alert不出现弹窗的两种方法
May 18 Javascript
AngularJS的一些基本样式初窥
Jul 27 Javascript
详解javascript实现瀑布流绝对式布局
Jan 29 Javascript
浅谈JavaScript函数的四种存在形态
Jun 08 Javascript
jQuery实现最简单实用的分秒倒计时
Feb 05 Javascript
MUI 实现侧滑菜单及其主体部分上下滑动的方法
Jan 25 Javascript
使用JavaScript生成罗马字符的实例代码
Jun 08 Javascript
vue  directive定义全局和局部指令及指令简写
Nov 20 Javascript
jQuery实现的别踩白块小游戏完整示例
Jan 07 jQuery
vue倒计时刷新页面不会从头开始的解决方法
Mar 03 Javascript
vue实现商品列表的添加删除实例讲解
May 14 Javascript
适合后台管理系统开发的12个前端框架(小结)
Jun 29 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
mac下安装nginx和php
2013/11/04 PHP
php生成EAN_13标准条形码实例
2013/11/13 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
php数组转成json格式的方法
2015/03/09 PHP
PHP读取mssql json数据中文乱码的解决办法
2016/04/11 PHP
Yii框架连接mongodb数据库的代码
2016/07/27 PHP
JAVASCRIPT下判断IE与FF的比较简单的方式
2008/10/17 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
2013/12/29 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
详解JavaScript中数组和字符串的lastIndexOf()方法使用
2016/03/13 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python安装Imaging报错:The _imaging C module is not installed问题解决方法
2014/08/22 Python
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
python实现flappy bird小游戏
2018/12/24 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
波兰最大的度假胜地和城市公寓租赁运营商:Sun & Snow
2018/10/18 全球购物
Nanushka官网:匈牙利服装品牌
2019/08/14 全球购物
银行职员思想汇报
2013/12/31 职场文书
检察官就职演讲稿
2014/01/13 职场文书
关于圣诞节的广播稿
2014/01/26 职场文书
公司中秋节活动方案
2014/02/12 职场文书
城管综合整治方案
2014/05/01 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
资料员岗位职责范本
2015/04/13 职场文书
开除员工通知
2015/04/22 职场文书
元旦晚会开场白
2015/05/29 职场文书