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 相关文章推荐
js DOM的学习笔记
Dec 22 Javascript
什么是DOM(Document Object Model)文档对象模型
Mar 05 Javascript
常用的JavaScript模板引擎介绍
Feb 28 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
Aug 10 Javascript
JS实现的表格行上下移动操作示例
Aug 03 Javascript
详解vue-Resource(与后端数据交互)
Jan 16 Javascript
vue中计算属性(computed)、methods和watched之间的区别
Jul 27 Javascript
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
javascript面向对象三大特征之多态实例详解
Jul 24 Javascript
JavaScript实现PC端四格密码输入框功能
Feb 19 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
Jun 17 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
Oct 27 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控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
ThinkPHP使用smarty模板引擎的方法
2014/07/01 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
2014/10/29 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
PHP实现多图上传(结合uploadify插件)思路分析
2016/11/30 PHP
laravel中的一些简单实用功能
2018/11/03 PHP
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
百度移动版的url编码解码示例
2014/04/29 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
Bootstrap模块dropdown实现下拉框响应
2016/05/22 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
2017/10/26 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
微信小程序页面间传递数组对象方法解析
2019/11/06 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
vue-router 控制路由权限的实现
2020/09/24 Javascript
vue 中this.$set 动态绑定数据的案例讲解
2021/01/29 Vue.js
[47:22]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现根据图标提取分类应用程序实例
2014/09/28 Python
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
python实现图书管理系统
2018/03/12 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
英国电器零售商:PRC Direct
2018/06/21 全球购物
人事部主管岗位职责
2013/12/26 职场文书
企业员工培训感言
2014/02/26 职场文书
尊师重教演讲稿
2014/09/04 职场文书
JVM钩子函数的使用场景详解
2021/08/23 Java/Android
MySQL三种方式实现递归查询
2022/04/18 MySQL