iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >JavaScript中怎么计算元素的位置
  • 244
分享到

JavaScript中怎么计算元素的位置

2024-04-02 19:04:59 244人浏览 泡泡鱼
摘要

这篇文章给大家介绍javascript中怎么计算元素的位置,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、js计算相对于浏览器视窗的元素绝对位置<!DOCTYPE h

这篇文章给大家介绍javascript中怎么计算元素的位置,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1、js计算相对于浏览器视窗的元素绝对位置

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>获取元素的绝对位置</title>
<style>
	*{
		margin: 0;
		padding: 0;
	}
   #div1{width:100px;height:100px;border:3px solid red;}
   #div2{width:70px;height:70px;border:3px solid blue;position:relative;}
   #div3{width:50px;height:50px;border:3px solid green;position:absolute;
        left:20px;top:10px;}
</style>
</head>
<body>
  <div id="div1">
    <div id="div2">
      <div id="div3"></div>
    </div>
  </div>
  <script>
    var div3 = document.getElementById('div3');
    div3.getBoundinGClientRect().bottom+"px";
			   
	console.log("div3元素左外边框距浏览器视窗的距离为:");
	console.log(div3.getBoundingClientRect().left);
	console.log("div3元素右外边框距浏览器视窗的距离为:");
	console.log(div3.getBoundingClientRect().right);
	console.log("div3元素上外边框距浏览器视窗的距离为:");
	console.log(div3.getBoundingClientRect().top);
	console.log(" div3元素下外边框距浏览器视窗的距离为");
	console.log(div3.getBoundingClientRect().bottom);	   		   
  </script>
</body>
</html>

分析:(前提,将body 节点的默认内外边距去掉了)

  • div3元素左外边框距浏览器视窗的距离为:div3 的 left(20)+div2 的左边框宽度(3)+div1 的左边框宽度(3)=26

  • div3元素右外边框距浏览器视窗的距离为:div3元素左外边框距浏览器视窗的距离(26)+div3的左边框宽度(3)+div3的内容宽度(50)+div3的右边框宽度(3)=26+3+50+3=82

  • div3元素上外边框距浏览器视窗的距离为:div1和div2的左边框宽度(3+3)+div3的top值(10)=6+10=16

  • div3元素下外边框距浏览器视窗的距离为:div3元素上外边框距浏览器视窗的距离(16)+div3的上边框宽度(3)+div3的内容宽度(50)+div3的下边框宽度(3)=16+3+50+3=72

我们看看输出结果是不是这样的:

JavaScript中怎么计算元素的位置

在这段代码中,要介绍2个重要的方法:getElementById()和getBoundingClientRect()。

getElementById()方法可以根据指定id值来获取到元素对象(该方法可返回对拥有指定 ID 的第一个对象的引用)

而元素对象的getBoundingClientRect()方法可以获取元素相对于浏览器视窗的位置,它会返回一个 Object 对象,该对象有 6 个属性:top、left、right、bottom、width、height:

  • 元素对象.getBoundingClientRect().top 可返回元素上外边框到浏览器视窗上边框的距离;

  • 元素对象.getBoundingClientRect().left 可返回元素左外边框到浏览器视窗左边框的距离;

  • 元素对象.getBoundingClientRect().right 可返回元素右外边框到浏览器视窗左边框的距离;

  • 元素对象.getBoundingClientRect().bottom 可返回元素下外边框到浏览器视窗上边框的距离;

  • 元素对象.getBoundingClientRect().width 可返回元素的宽度,其中包括左、右边框宽度;

  • 元素对象.getBoundingClientRect().height 可返回元素的高度,其中包括上、下边框宽度。

2、计算相对于父节点或 body 元素的偏移位置

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>获取元素的偏移位置</title>
<style>
*{
	margin: 0;
	padding: 0;
}
   #div1{width:100px;height:100px;border:3px solid red;}
   #div2{width:70px;height:70px;border:3px solid blue;position:relative;}
   #div3{width:50px;height:50px;border:3px solid green;position:absolute;left:20px;
          top:10px;}
   #div4{width:30px;height:30px;border:3px solid olive;position:absolute;left:20px;
             top:10px;}
</style>
</head>
<body>
  <div id="div1">
    <div id="div2">
      <div id="div3">
          <div id="div4"><div>
      </div>
    </div>
  </div><br /><br /><br /><br />
  <div id="content"></div>
  <script>
   var div2 = document.getElementById('div2');
        var div4 = document.getElementById('div4');
        console.log("div2的水平偏移位置为:");
        console.log(div2.offsetLeft);
        console.log("div4的水平偏移位置为:");
        console.log(div4.offsetLeft);
        console.log("div2的垂直偏移位置为:");
        console.log(div2.offsetTop);
        console.log("div4的垂直偏移位置为:");
        console.log(div4.offsetTop);
  </script>
</body>
</html>

分析:(前提,将body 节点的默认内外边距去掉了)

  • div2因为没有定位父节点,所以其偏移是相对于 body 节点的,则水平和垂直偏移位置都为div1的边框宽度(3px)等于3px。

  • div4最近的定位父节点为div3,水平偏移位置就是div3的left 属性值(20px),垂直偏移位置就是div3的top 属性值(10px)。

我们看看输出结果是不是这样的:

JavaScript中怎么计算元素的位置

通过上面示例,我们来了解两个属性:offsetLeft 和 offsetTop。

offsetLeftoffsetTop属性可以分别获取元素相对定位父元素或 body 元素的水平和垂直偏移位置。

关于JavaScript中怎么计算元素的位置就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: JavaScript中怎么计算元素的位置

本文链接: https://www.lsjlt.com/news/77589.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript中怎么计算元素的位置
    这篇文章给大家介绍JavaScript中怎么计算元素的位置,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、js计算相对于浏览器视窗的元素绝对位置<!DOCTYPE h...
    99+
    2024-04-02
  • javascript怎么颠倒元素位置
    这篇文章主要为大家展示了“javascript怎么颠倒元素位置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript怎么颠倒元素位置”这篇文章吧。首...
    99+
    2024-04-02
  • Javascript中怎么获取页面元素的位置
    这篇文章给大家介绍Javascript中怎么获取页面元素的位置,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、网页的大小和浏览器窗口的大小首先,要明确两个基本概念。一张网页的全部面积...
    99+
    2024-04-02
  • JavaScript怎么定位元素
    本篇内容主要讲解“JavaScript怎么定位元素”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript怎么定位元素”吧! ...
    99+
    2024-04-02
  • java中Count怎么计算流中的元素
    这篇文章将为大家详细讲解有关java中Count怎么计算流中的元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. ...
    99+
    2023-06-14
  • 怎么用JavaScript获取和计算页面元素的offset
    这篇文章主要介绍“怎么用JavaScript获取和计算页面元素的offset”,在日常操作中,相信很多人在怎么用JavaScript获取和计算页面元素的offset问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-08
  • 怎么获得css元素中的计算样式
    这篇文章主要讲解了“怎么获得css元素中的计算样式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么获得css元素中的计算样式”吧!要获得css元素中的计算样式(即经过层叠之后,最终的样式)...
    99+
    2023-06-08
  • python怎么查找列表中元素的位置
    今天小编给大家分享一下python怎么查找列表中元素的位置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。如何查找列表中元素的...
    99+
    2023-06-30
  • jQuery中怎么获取元素位置的接口
    本篇文章为大家展示了jQuery中怎么获取元素位置的接口,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。jQuery中提供了获取设置HTML元素位置的接口方法。如下....
    99+
    2024-04-02
  • Python中怎么定位元素
    本篇文章为大家展示了Python中怎么定位元素,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。确定网站没有设置反爬措施,是否能直接返回待解析的内容:import requests ...
    99+
    2023-06-15
  • jquery 怎么获取设置元素位置
    Jquery是一个非常流行的JavaScript库。其中一个非常重要的功能就是操作页面上的元素。在Web开发中,我们经常需要获取和设置元素的位置,这是非常重要的功能。本文将介绍如何使用Jquery获取和设置元素的位置。一、获取元素位置off...
    99+
    2023-05-14
  • matlab怎么查找cell元素位置
    在MATLAB中,可以使用`find`函数来查找cell数组中满足条件的元素位置。下面是一个示例:```matlab% 创建一个包含...
    99+
    2023-08-19
    matlab
  • 如何用JavaScript获取页面元素的位置
    本篇内容主要讲解“如何用JavaScript获取页面元素的位置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用JavaScript获取页面元素的位置”吧!1...
    99+
    2024-04-02
  • javascript一维数组元素的和的计算方法
    这篇文章将为大家详细讲解有关javascript一维数组元素的和的计算方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。方法:1、用“for(var i=0;i<数...
    99+
    2024-04-02
  • c++中vector怎么删除指定位置元素
    要删除vector中指定位置的元素,可以使用erase()方法。下面是一个示例代码: #include <iostream&g...
    99+
    2024-03-13
    c++
  • HTML怎么对一个元素的位置进行定位
    本篇内容介绍了“HTML怎么对一个元素的位置进行定位”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! &l...
    99+
    2024-04-02
  • PHP怎么计算数组元素总和
    这篇文章主要介绍“PHP怎么计算数组元素总和”,在日常操作中,相信很多人在PHP怎么计算数组元素总和问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么计算数组元素总和”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-20
  • c++中怎么用set遍历指定位置的元素
    在C++中,可以使用迭代器来遍历 set 中的元素。要遍历指定位置的元素,可以使用 std::advance 函数来移动迭代器到指定...
    99+
    2024-03-04
    c++
  • python怎么计算数组元素个数
    Python中,可以使用内置函数`len()`来计算数组的元素个数。以下是一个示例:```pythonarr = [1, 2, 3,...
    99+
    2023-08-22
    python
  • PHP怎么计算数组元素乘积
    这篇文章主要介绍“PHP怎么计算数组元素乘积”,在日常操作中,相信很多人在PHP怎么计算数组元素乘积问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么计算数组元素乘积”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-20
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作