Home Web Front-end JS Tutorial How to calculate the position of an element using js

How to calculate the position of an element using js

Aug 09, 2021 pm 06:46 PM
javascript

In the previous article "JS Array Learning: 4 Methods to Clear All Elements (Detailed Code Explanation)", we introduced 4 ways to clear arrays and delete all elements of the array in JS. This time we will introduce how to use js to calculate the position of elements. You can refer to it if necessary.

In JavaScript, the position of an element can be divided into two types: one is the absolute position relative to the browser window; the other is the offset position relative to the parent node or body element. Let's take a look at how to get the positions of the two elements.

1. js calculates the absolute position of the element relative to the browser window

<!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(&#39;div3&#39;);
    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>
Copy after login

Analysis: (Prerequisite, the default inner and outer margins of the body node are removed)

  • The distance between the left outer border of the div3 element and the browser window is: div3's left (20) div2's left border width (3) div1's left border width (3) = 26

  • The distance between the right outer border of the div3 element and the browser window is: the distance between the left outer border of the div3 element and the browser window (26) the width of the left border of div3 (3) the content of div3 Width (50) Width of the right border of div3 (3) = 26 3 50 3 = 82

  • The distance between the outer border of the div3 element and the browser window is: the left border of div1 and div2 Width (3 3) top value of div3 (10) = 6 10 = 16

  • The distance between the lower outer border of the div3 element and the browser window is: the distance between the upper outer border of the div3 element and the browser The distance of the view window (16) The width of the top border of div3 (3) The width of the content of div3 (50) The width of the bottom border of div3 (3) = 16 3 50 3 = 72

## Let’s see See if the output result looks like this:

How to calculate the position of an element using js

In this code, two important methods are introduced: getElementById() and getBoundingClientRect().

getElementById()The method can obtain the element object based on the specified id value (this method can return a reference to the first object with the specified ID)

The

getBoundingClientRect() method of the element object can obtain the position of the element relative to the browser window. It will return an Object object, which has 6 properties: top, left, right, bottom, width, height:

  • Element object.getBoundingClientRect().top Can return the distance from the upper outer border of the element to the upper border of the browser window;

  • Element object.getBoundingClientRect().left can return the distance from the left outer border of the element to the left border of the browser window;

  • Element object.getBoundingClientRect().right Can return the distance from the right outer border of the element to the left border of the browser window;

  • Element object.getBoundingClientRect() .bottom can return the distance from the bottom outer border of the element to the upper border of the browser window;

  • element object.getBoundingClientRect().width can return the distance of the element Width, including left and right border width;

  • Element object.getBoundingClientRect().height Returns the height of the element, including top and bottom border width.

2. Calculate the offset position relative to the parent node or body element

<!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(&#39;div2&#39;);
        var div4 = document.getElementById(&#39;div4&#39;);
        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>
Copy after login
Analysis: (Prerequisite, change the default inner and outer positions of the body node The margins are removed)

  • Because the parent node is not positioned, the offset of div2 is relative to the body node, so the horizontal and vertical offset positions are both the border width of div1 (3px ) is equal to 3px.

  • The nearest positioned parent node of div4 is div3, the horizontal offset position is the left attribute value of div3 (20px), and the vertical offset position is the top attribute value of div3 (10px).

Let’s see if the output result is like this:

How to calculate the position of an element using js

Through the above example, we will understand the two attributes :offsetLeft and offsetTop. The

offsetLeft and offsetTop properties can respectively obtain the horizontal and vertical offset positions of the element relative to its parent element or body element.

[Recommended learning:

javascript advanced tutorial]

The above is the detailed content of How to calculate the position of an element using js. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to implement an online speech recognition system using WebSocket and JavaScript How to implement an online speech recognition system using WebSocket and JavaScript Dec 17, 2023 pm 02:54 PM

How to use WebSocket and JavaScript to implement an online speech recognition system Introduction: With the continuous development of technology, speech recognition technology has become an important part of the field of artificial intelligence. The online speech recognition system based on WebSocket and JavaScript has the characteristics of low latency, real-time and cross-platform, and has become a widely used solution. This article will introduce how to use WebSocket and JavaScript to implement an online speech recognition system.

WebSocket and JavaScript: key technologies for implementing real-time monitoring systems WebSocket and JavaScript: key technologies for implementing real-time monitoring systems Dec 17, 2023 pm 05:30 PM

WebSocket and JavaScript: Key technologies for realizing real-time monitoring systems Introduction: With the rapid development of Internet technology, real-time monitoring systems have been widely used in various fields. One of the key technologies to achieve real-time monitoring is the combination of WebSocket and JavaScript. This article will introduce the application of WebSocket and JavaScript in real-time monitoring systems, give code examples, and explain their implementation principles in detail. 1. WebSocket technology

How to use JavaScript and WebSocket to implement a real-time online ordering system How to use JavaScript and WebSocket to implement a real-time online ordering system Dec 17, 2023 pm 12:09 PM

Introduction to how to use JavaScript and WebSocket to implement a real-time online ordering system: With the popularity of the Internet and the advancement of technology, more and more restaurants have begun to provide online ordering services. In order to implement a real-time online ordering system, we can use JavaScript and WebSocket technology. WebSocket is a full-duplex communication protocol based on the TCP protocol, which can realize real-time two-way communication between the client and the server. In the real-time online ordering system, when the user selects dishes and places an order

How to implement an online reservation system using WebSocket and JavaScript How to implement an online reservation system using WebSocket and JavaScript Dec 17, 2023 am 09:39 AM

How to use WebSocket and JavaScript to implement an online reservation system. In today's digital era, more and more businesses and services need to provide online reservation functions. It is crucial to implement an efficient and real-time online reservation system. This article will introduce how to use WebSocket and JavaScript to implement an online reservation system, and provide specific code examples. 1. What is WebSocket? WebSocket is a full-duplex method on a single TCP connection.

JavaScript and WebSocket: Building an efficient real-time weather forecasting system JavaScript and WebSocket: Building an efficient real-time weather forecasting system Dec 17, 2023 pm 05:13 PM

JavaScript and WebSocket: Building an efficient real-time weather forecast system Introduction: Today, the accuracy of weather forecasts is of great significance to daily life and decision-making. As technology develops, we can provide more accurate and reliable weather forecasts by obtaining weather data in real time. In this article, we will learn how to use JavaScript and WebSocket technology to build an efficient real-time weather forecast system. This article will demonstrate the implementation process through specific code examples. We

Simple JavaScript Tutorial: How to Get HTTP Status Code Simple JavaScript Tutorial: How to Get HTTP Status Code Jan 05, 2024 pm 06:08 PM

JavaScript tutorial: How to get HTTP status code, specific code examples are required. Preface: In web development, data interaction with the server is often involved. When communicating with the server, we often need to obtain the returned HTTP status code to determine whether the operation is successful, and perform corresponding processing based on different status codes. This article will teach you how to use JavaScript to obtain HTTP status codes and provide some practical code examples. Using XMLHttpRequest

How to use insertBefore in javascript How to use insertBefore in javascript Nov 24, 2023 am 11:56 AM

Usage: In JavaScript, the insertBefore() method is used to insert a new node in the DOM tree. This method requires two parameters: the new node to be inserted and the reference node (that is, the node where the new node will be inserted).

JavaScript and WebSocket: Building an efficient real-time image processing system JavaScript and WebSocket: Building an efficient real-time image processing system Dec 17, 2023 am 08:41 AM

JavaScript is a programming language widely used in web development, while WebSocket is a network protocol used for real-time communication. Combining the powerful functions of the two, we can create an efficient real-time image processing system. This article will introduce how to implement this system using JavaScript and WebSocket, and provide specific code examples. First, we need to clarify the requirements and goals of the real-time image processing system. Suppose we have a camera device that can collect real-time image data

See all articles