JS实现拖动示例代码

 更新时间:2013年11月01日 17:16:42   作者:  
JS实现拖动的方法有很多,在本文将为大家介绍下使用getBoundingClientRect()方法是如何实现的,感兴趣的朋友不要错过
getBoundingClientRect() 来获取页面元素的位置
复制代码 代码如下:

document.documentElement.getBoundingClientRect

该方法返回一个对象,从而获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置,即分别代表该元素上、左、右、下四条边界相对于浏览器窗口左上角(注意,不是文档区域的左上角)的偏移像素值。并且该方法已经不再是IE Only了,FF3.0+和Opera9.5+已经支持了该方法,可以说在获得页面元素位置上效率能有很大的提高,所以获取页面上某个元素相对于浏览器窗口的偏移量就成了getBoundingClientRect的用武之地了,按照一篇文章的说法,it's awsome,太帅了=。=因为不必纠结于offset、pagex、clientx等等等等等等。在以前版本的Opera和Firefox中必须通过循环来获得元素在页面中的绝对位置。
 
 
代码示例:
复制代码 代码如下:

<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中消除闭包的一般方法介绍

    JavaScript中消除闭包的一般方法介绍

    这篇文章主要介绍了JavaScript中消除闭包的一般方法介绍,本文直接给出了操作示例,需要的朋友可以参考下
    2015-03-03
  • uni-app学习之nvue使用教程

    uni-app学习之nvue使用教程

    uni-app可以说是目前跨端数最多的框架之一了,这篇文章主要给大家介绍了关于uni-app学习之nvue使用的相关资料,文中介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • css+html+js实现五角星评分

    css+html+js实现五角星评分

    这篇文章主要为大家详细介绍了css+html+js实现五角星评分,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • js仿新浪微博消息发布功能

    js仿新浪微博消息发布功能

    这篇文章主要为大家详细介绍了js仿新浪微博消息发布功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • JavaScript常用代码书写规范的超全面总结

    JavaScript常用代码书写规范的超全面总结

    这篇文章给大家全面总结了JavaScript常用代码的书写规范,分别利用推荐和不推荐的两种示例代码让大家更能直接的了解书写规范,其实关于javascript代码规范我们应该遵循古老的原则:“能做并不意味着应该做”,好了,下面我们就来一起看看吧。
    2016-09-09
  • JavaScript函数获取事件源的小例子

    JavaScript函数获取事件源的小例子

    这篇文章主要介绍了JavaScript函数获取事件源具体实现,需要的朋友可以参考下
    2014-05-05
  • Jquery代码实现图片轮播效果(一)

    Jquery代码实现图片轮播效果(一)

    经理交给我一个网站新闻资讯网页开发的活儿,对于我这样的java程序员,没有接触过网页设计这么高端的东东,该怎么搞呢,去度娘那搜索到不少结果,而且很大部分都是用jquery做的,于是根据自己的一些的理解,提供了这篇jquery轮播效果的讲解,有需要的朋友可以来参考下
    2015-08-08
  • javascript十六进制数字和ASCII字符之间的转换方法

    javascript十六进制数字和ASCII字符之间的转换方法

    下面小编就为大家带来一篇javascript十六进制数字和ASCII字符之间的转换方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • js微信分享接口调用详解

    js微信分享接口调用详解

    这篇文章主要为大家详细介绍了js微信分享接口调用的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07

最新评论