古詩詞大全網 - 成語故事 - 怎麽用js獲取div的當前寬度?

怎麽用js獲取div的當前寬度?

第壹種情況就是寬高都寫在樣式表裏,就比如#div1{width:120px;}。這中情況通過#div1.style.width拿不到寬度,而通過#div1.offsetWidth才可以獲取到寬度。

第二種情況就是寬和高是寫在行內中,比如style="width:120px;",這中情況通過上述2個方法都能拿到寬度。(什麽是行內,就是直接在html標簽上寫樣式)

小結,因為id.offsetWidth和id.offsetHeight無視樣式寫在樣式表還是行內,所以我們獲取元素寬和高的時候最好用這2個屬性。註意如果不是寫在行內style中的屬性都不能通過id.style.atrr來獲取。

現在的前端制作很少直接把樣式寫style裏了,都是寫在樣式表裏。如果妳要獲取的樣式沒有相對應的(就像#div1.style.width對 應#div1.offsetWidth),就只能分別針對不用瀏覽器來獲取樣式表的屬性了,可以試著搜索“JS 獲取樣式屬性”之類的。

代碼:

var o = document.getElementById("view");var h = o.offsetHeight; //高度var w = o.offsetWidth; //寬度

擴展資料

js編程:

JavaScript是壹種腳本語言,其源代碼在發往客戶端運行之前不需經過編譯,而是將文本格式的字符代碼發送給瀏覽器由瀏覽器解釋運行。直譯語言的弱點是安全性較差,而且在JavaScript中,如果壹條運行不了,那麽下面的語言也無法運行。而其解決辦法就是於使用try{}catch(){}。

Javascript被歸類為直譯語言,因為主流的引擎都是每次運行時加載代碼並解譯。V8是將所有代碼解譯後再開始運行,其他引擎則是逐行解譯(SpiderMonkey會將解譯過的指令暫存,以提高性能,稱為實時編譯),但由於V8的核心部份多數用Javascript撰寫(而SpiderMonkey是用C++)。

因此,在不同的測試上,兩者性能互有優劣。與其相對應的是編譯語言,例如C語言,以編譯語言編寫的程序在運行之前,必須經過編譯,將代碼編譯為機器碼,再加以運行。

參考資料:

javascript_百度百科