JavaScript中怎么计算元素的位置

发布时间:2021-08-10 11:14:04 作者:Leah
来源:亿速云 阅读:156

这篇文章给大家介绍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 节点的默认内外边距去掉了)

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

JavaScript中怎么计算元素的位置

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

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

而元素对象的getBoundingClientRect()方法可以获取元素相对于浏览器视窗的位置,它会返回一个 Object 对象,该对象有 6 个属性:top、left、right、bottom、width、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 节点的默认内外边距去掉了)

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

JavaScript中怎么计算元素的位置

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

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

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

推荐阅读:
  1. PHP怎么实现数组中偶数位置元素大于奇数位置元素
  2. 使用javascript怎么获取元素的计算样式

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

javascript

上一篇:JavaScript中可迭代对象与迭代器的作用是什么

下一篇:vue中vee validate表单校验的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》