How to calculate the position of an element using js
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('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>
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
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)
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('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>
- 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).
offsetLeft and
offsetTop properties can respectively obtain the horizontal and vertical offset positions of the element relative to its parent element or body element.
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

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

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

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 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

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 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 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

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

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 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
