`
chinachuner
  • 浏览: 64712 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

getBoundingClientRect() 来获取页面元素的位置

 
阅读更多

下面这是MSDN的解释:

Syntax

oRect = object.getBoundingClientRect()

Return Value

Returns a TextRectangle object. Each rectangle has four integer properties (top, left, right, and bottom) that represent a coordinate of the rectangle, in pixels.

Remarks

This method retrieves an object that exposes the left, top, right, and bottom coordinates of the union of rectangles relative to the client's upper-left corner. In Microsoft Internet Explorer 5, the window's upper-left is at 2,2 (pixels) with respect to the true client.


 

还是实际解释下,该方法获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置。也不好理解,下面用图说明下。

该方法已经不再是IE Only了,FF3.0+和Opera9.5+已经支持了该方法,可以说在获得页面元素位置上效率能有很大的提高,在以前版本的Opera和Firefox中必须通过循环来获得元素在页面中的绝对位置。

 

 

 

下面的代码举了个简单的例子,可以滚动滚动条之后点红色区域看各个值的变化。

 

 

复制代码
Code
<!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)
var X= this.getBoundingClientRect().left+document.documentElement.scrollLeft;
var Y = this.getBoundingClientRect().top+document.documentElement.scrollTop;
alert(
"Demo的位置是X:"+X+";Y:"+Y)
}
}
</script>
复制代码

 

有了这个方法,获取页面元素的位置就简单多了,

            var X= this.getBoundingClientRect().left+document.documentElement.scrollLeft;
var Y =this.getBoundingClientRect().top+document.documentElement.scrollTop;
分享到:
评论

相关推荐

    js getBoundingClientRect() 来获取页面元素的位置.docx

    js getBoundingClientRect() 来获取页面元素的位置 js 中的 getBoundingClientRect() 方法用于获取页面元素的位置信息,该方法可以获取元素相对于客户端窗口的 left、top、right 和 bottom 坐标值。 js ...

    获取元素绝对位置 position

    "获取元素绝对位置 position"这个话题主要关注JavaScript中如何准确地定位DOM元素在页面中的坐标。这里,我们将深入探讨相关知识,并参考提供的博客链接以及相关的HTML文件。 首先,元素的绝对位置是指元素左上角相...

    js getBoundingClientRect() 来获取页面元素的位置

    该方法已经不再是IE Only了,FF3.0+和Opera9.5+已经支持了该方法,可以说在获得页面元素位置上效率能有很大的提高,在以前版本的Opera和Firefox中必须通过循环来获得元素在页面中的绝对位置。

    js获取页面控件坐标.pdf

    获取页面控件坐标是 JavaScript 编程中非常重要的一部分,我们可以使用多种方法来获取元素的坐标,包括使用 offsetLeft 和 offsetTop 属性、getBoundingClientRect() 方法和 JavaScript 库等。 此外,在 HTML 文...

    javascript getBoundingClientRect() 来获取页面元素的位置的代码[修正版]第1/2页

    它的使用极大地提高了获取页面元素位置的效率,特别是在处理动态布局或者需要精确计算元素位置的场景时。 在早期的非IE浏览器中,开发者通常需要通过递归或循环遍历元素的祖先节点,计算元素相对于文档的偏移量来...

    Vue获取页面元素的相对位置的方法示例

    总的来说,在Vue中获取页面元素的相对位置,通常需要结合`getBoundingClientRect()`、`offsetTop`等方法,以及事件监听来实现特定的交互效果。在实际开发中,还要考虑性能优化,例如使用`throttle`或`debounce`函数...

    vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法

    this.$refs[‘通过设置ref获取到的dom元素’].getBoundingClientRect(); //示例: 获取元素距离顶部的距离 this.$refs.journalUpward.getBoundingClientRect().top 以上这篇vue获取元素宽、高、距离左边距离,右,上...

    javascript 获取元素位置的快速方法 getBoundingClientRect()

    此外,它也常用于动画效果,通过不断地计算元素的新位置来实现平滑的移动。 总的来说,`getBoundingClientRect()`是JavaScript中一个非常实用的方法,它为开发者提供了一种高效、准确的方式来获取元素在网页中的...

    JavaScript获取指定元素位置的方法

    总的来说,理解和掌握这些JavaScript获取元素位置的方法对于前端开发是至关重要的。通过结合使用`getBoundingClientRect()`、`scrollLeft`、`scrollTop`和`offsetHeight`等属性,我们可以精确地定位页面上的任何元素...

    JavaScript和jQuery获取input框的绝对位置

    在JavaScript中,我们可以使用`getBoundingClientRect()`方法来获取元素的绝对位置。这个方法返回一个对象,其中包含了`top`, `right`, `bottom`, `left`, `width` 和 `height`等属性,它们分别表示元素相对视口边界...

    js getBoundingClientRect使用方法详解.docx

    getBoundingClientRect 是一个常用的 JavaScript 方法,用于获取元素的大小及其相对于视口的位置。该方法返回一个 DOMRect 对象,该对象包含了元素的宽度、高度、left、top、right、bottom 等属性值。这些属性值可以...

    JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)

    总的来说,无论是使用纯JavaScript还是JQuery,都可以灵活地获取页面的尺寸、滚动条位置和元素位置。对于开发者而言,了解并掌握这些方法将有助于提高前端开发的效率和质量。希望本文所提供的知识点能够帮助大家在...

    获取鼠标相对位置

    这时,我们可以使用`getBoundingClientRect()`方法来获取元素的几何信息,然后结合`event.clientX`和`event.clientY`计算出相对位置: ```javascript document.getElementById('myElement').addEventListener('...

    获取元素距离浏览器周边的位置的方法getBoundingClientRect

    总结起来,`getBoundingClientRect()` 是JavaScript中获取元素几何信息的重要工具,它可以提供元素与浏览器视口的精确相对位置,是进行精确布局和交互开发的必备技能。在实际应用中,结合其他DOM操作和CSS属性,我们...

    JS中获取 DOM 元素的绝对位置实例详解

    在JavaScript中,获取DOM元素的绝对位置是一项常见的...根据具体需求和目标浏览器范围,开发者可以选择合适的方法来实现元素位置的精确控制。在处理复杂的布局和动态效果时,理解这些属性和方法的工作原理至关重要。

    用JavaScript获取DOM元素位置和尺寸大小的方法

    总之,理解和掌握JavaScript中的DOM元素位置和尺寸获取方法是Web开发中的基本技能,这对于创建交互式、响应式的网页至关重要。通过熟练运用这些属性和方法,开发者可以实现各种创新的效果,提升用户体验。

    js中getBoundingClientRect( )方法案例详解.docx

    在Web开发中,我们经常需要获取页面中某个元素的尺寸以及它相对于视口的位置。`getBoundingClientRect()`方法为实现这一需求提供了一个简单而强大的工具。本文将详细介绍`getBoundingClientRect()`方法的基本用法、...

Global site tag (gtag.js) - Google Analytics