Javascript獲取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; //寬度

原文:http://www.cnblogs.com/zhwl/p/3858682.html

實際測試過程中,發現上面獲取真實高度是有問題,其實無論是設置在樣式表還是在行內設置,都會獲取到你設置的值,如果要獲取真實高度,有如下思路,以行內樣式來說:

<div class="article__content article_content" style="height: 703px;">
    <div>
    </div>
</div>
獲取真實高度:
alert(parseInt($('.article__content div').get(0).offsetHeight));

獲取時只要在這個樣式里面的div大小,這個就是真實高度。

這里還附帶其它的獲取高度方法

alert($(window).height()); //瀏覽器當前窗口可視區域高度
alert($(document).height()); //瀏覽器當前窗口文檔的高度
alert($(document.body).height());//瀏覽器當前窗口文檔body的高度
alert($(document.body).outerHeight(true));//瀏覽器當前窗口文檔body的總高度 包括border padding margin
alert($(window).width()); //瀏覽器當前窗口可視區域寬度
alert($(document).width());//瀏覽器當前窗口文檔對象寬度
alert($(document.body).width());//瀏覽器當前窗口文檔body的高度
alert($(document.body).outerWidth(true));//瀏覽器當前窗口文檔body的總寬度 包括border padding margin


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM