如何使用原生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”。