在jQuery中,獲取元素高度的方法有3個:height()、innerHeight()、outerHeight();
順帶記一下元素的盒模型: height(高度), padding(內邊距), margin(外邊距), border(邊框);
1. height()
用於設置或返回當前匹配元素的高度;
高度不包括元素的外邊距(margin)、內邊距(padding)、邊框(border)等;
對不可見的元素依然有效;
還可獲取window,document對象的高度,
1 $(window).height();// 返回瀏覽器視口的高度 2 $(document).height();// 返回HTML文檔的高度
2. innerHeight()
用於設置或返回當前匹配元素的內高度;
內高度包括只元素的內邊距(padding);
對不可見的元素依然有效;
不適用於獲取window,document對象的高度;
3. outerHeight()
獲取當前匹配元素的外高度;
外高度包括元素的內邊距padding、邊框border;
outerHeight(true)參數為true時包含外邊距部分的高度,默認為false不包括;
對不可見的元素依然有效;
不適用於獲取window,document對象的高度;
4. 總結
1 height() 高度為 height , 2 innerHeight() 高度為 height+padding , 3 outerHeight() 高度為 height+padding+border , 4 outerHeight(true)高度為 height+margin+padding+border ;
5. 舉個栗子
html:
1 <div style="margin:5px; padding:10px; width:100px; height:100px; border:1px solid #666;"></div>
JS:
1 <script type="text/javascript"> 2 var div=$("div"); 3 console.log(div.height());//輸出100 4 console.log(div.innerHeight());//輸出100+10+10=120 5 console.log(div.outerHeight());//輸出100+10+10+1+1=122 6 console.log(div.outerHeight(true));//輸出100+10+10+1+1+5+5=132 7 </script>
6. 控制台輸出