如何使用原生JavaScript查找div的宽度?
概述
原生JavaScript是JavaScript的一个框架,它主要提供两种不同的方法来查找div的宽度,分别是“offsetWidth”和“clientWidth”。这两种方法都可以查找网页上任何元素的宽度。这里所说的原生JavaScript指的是JavaScript中预定义的、供开发者使用的方法。它具有跨平台兼容性。
语法
下面给出查找div宽度的语法。这两种方法都用于计算div的宽度。
elementHTML.offsetWidth elementHTML.clientWidth
elementHTML − 这是需要计算宽度的div元素。
offsetWidth − 这是一个JavaScript方法,用于计算div的宽度。在计算宽度时,它还包括元素的内边距。
clientWidth − 这是JavaScript的预定义方法,它通过排除div的边距、边框和滚动条来计算div的宽度。
算法1
步骤1 − 在文本编辑器中创建一个HTML文件,并在文件中添加HTML基本结构。
步骤2 − 现在创建一个具有绿色背景的HTML父div容器。
<div id="div" style="background-color: green;padding: 2rem;"> <span id="w"></span> </div>
步骤3 − 现在将script标签添加到HTML的body中。
<script></script>
步骤4 − 现在将HTML元素的引用存储到变量中。
el = document.getElementById("div");
步骤5 − 现在使用offsetWidth属性计算元素的宽度。
var elWidth = el.offsetWidth;
步骤6 − 现在使用HTML DOM(文档对象操作)属性将输出显示到浏览器页面。
document.getElementById("w").innerHTML="width: "+elWidth;
示例1
在这个例子中,我们将使用offsetWidth方法来查找div的宽度。
<html> <head> <title> width of div using vanilla javascript </title> </head> <body> <div id="div" style="background-color: green;padding: 2rem;"> <span id="w"></span> </div> <script> var el = document.getElementById("div"); var elWidth = el.offsetWidth; document.getElementById("w").innerHTML="width: "+elWidth; </script> </body> </html>
算法2
步骤1 − 在文本编辑器中创建一个HTML文件,并在文件中添加HTML基本结构。
步骤2 − 现在创建两个HTML父div容器。第一个容器为绿色,第二个容器具有红色背景和固定宽度。
<div id="div" style="background-color: green;padding: 2rem;color: white;"> <span id="w"></span> </div> <div id="div2" style="background-color: red;width: 150px;height: 50px;color: white;"> <span id="w2"></span> </div>
步骤3 − 现在将script标签添加到HTML的body中。
<script></script>
步骤4 − 现在将第一个HTML元素的引用存储到变量中。
var el = document.getElementById("div");
步骤5 − 现在使用第一个容器的clientWidth属性计算第一个元素的宽度。
var elW = el.clientWidth; document.getElementById("w").innerHTML = "width: " + elW;
步骤6 − 现在将第二个HTML元素的引用存储到变量中。
var el2 = document.getElementById("div2");
步骤5 − 现在使用第一个容器的clientWidth属性计算第二个元素的宽度。
var elW = el.clientWidth; document.getElementById("w").innerHTML = "width: " + elW;
步骤6 − 现在将第二个HTML元素的引用存储到变量中。
var el2 = document.getElementById("div2");
步骤6 − 现在使用HTML DOM(文档对象操作)属性将输出显示到浏览器页面。
var elW2 = el2.clientWidth; document.getElementById("w2").innerHTML = "width: " + elW2;
示例2
在这个例子中,我们将使用clientWidth方法计算div容器的宽度,并将比较div容器的静态宽度和动态宽度。
<html> <head> <title> width of div using vanilla javascript </title> </head> <body> <div id="div" style="background-color: green;padding: 2rem;color: white;"> <span id="w"></span> </div> <div id="div2" style="background-color: red;width: 150px;height: 50px;color: white;"> <span id="w2"></span> </div> <script> var el = document.getElementById("div"); var elW = el.clientWidth; document.getElementById("w").innerHTML = "width: " + elW; var el2 = document.getElementById("div2"); var elW2 = el2.clientWidth; document.getElementById("w2").innerHTML = "width: " + elW2; </script> </body> </html>
在下图中,有两个div容器,绿色容器是动态宽度容器,浏览器屏幕大小改变时,容器宽度也会改变;第二个容器是固定宽度容器,这种类型的容器不受浏览器屏幕大小的影响,相对于视口是固定的。
结论
计算div宽度的功能有助于创建页面的响应式布局。它也用于动画转换目的,例如,当容器宽度变为零时,可以触发新的动画,例如创建新的元素或更改页面的布局。此功能还可以通过使div的宽度保持静态来构建图表。这两种方法的返回类型都是整数。两种方法计算的宽度单位都是“px”。