如何使用原生 JavaScript 查找 div 的宽度?

javascriptweb developmentfront end technology

概述

原生 JavaScript 是 JavaScript 的一个框架,它主要提供两种不同的方法来使用"offsetWidth"和"clientWidth"查找 div 的宽度。这两种方法都可以查找网页上任何元素的宽度。这里原生 JavaScript 指的是为开发人员预定义的 JavaScript 方法。它提供跨平台兼容性。

语法

查找 div 宽度的语法如下。这两个方法用于计算 div 的宽度。

elementHTML.offsetWidth
elementHTML.clientWidth
  • elementHTML − 这是需要计算宽度的 div 元素。

  • offsetWidth − 这是计算 div 宽度的 JavaScript 方法。在计算宽度时,它还包括元素的填充。

  • clientWidth − 这是 JavaScript 的预定义方法,通过排除 div 的边距、div 的边框和滚动条来计算 div 的宽度。

算法 1

  • 步骤 1 − 在文本编辑器上创建一个 HTML 文件,并向文件中添加 HTML 样板。

  • 步骤 2 − 现在创建一个具有绿色背景的 HTML 父 div 容器。

<div id="div" style="background-color: green;padding: 2rem;">
<span id="w"></span>
</div>
  • 步骤 3 − 现在将脚本标记添加到 HTML 主体。

<script></script>
  • 步骤 4 − 现在将 HTML 元素的引用存储到变量中。

el = document.getElementById("div");
  • 步骤 5 - 现在使用 offsetWidth 属性计算元素的宽度。

var elWidth = el.offsetWidth;
  • 步骤 6 - 现在使用 HTML DOM(文档对象操作)属性将输出显示到浏览器页面。

document.getElementById("w").innerHTML="width: "+elWidth;

示例 1

在此示例中,我们将使用 offset 方法来查找 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 − 现在将脚本标记添加到 HTML 主体。

<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"为单位。


相关文章