火狐在用offsetHeight獲取div的高度時為0的解決方法
發(fā)布時間:2013-10-15 17:30:33 作者:佚名
我要評論

火狐在需要獲取div的高度時,往往需要用到offsetHeight,有時會碰到offsetHeight獲取到為0的現(xiàn)象,下面為大家介紹下比較實用的解決方法,感興趣的朋友可參考下
火狐在需要獲取div的高度時,往往需要用到offsetHeight,有時會碰到offsetHeight獲取到為0的現(xiàn)象,
在使用IE或者火狐中,特別在目前div+css的方式,往往不定義div的高度,這是在添加div內(nèi)容后,需要獲取div的高度時,往往需要用到offsetHeight。
在使用中,有時會碰到offsetHeight獲取到為0的現(xiàn)象,但如果你用各種JS調(diào)試工具調(diào)試,又能在對象中看到值(如果直接指向offsetHeight是沒值的,但如果是對象查看是有值的,在調(diào)試器中回車查看對象就已經(jīng)刷新對象了,所以有值。)
比如下面片段
代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script language='javascript'>
window.attachEvent( "onload", function(){ _resizeScroll2();} );
window.onresize=function(){winresize();};
function _resizeScroll2(){
var html1 = '<div id="divcj" style="margin-top:15px;font-size:10px;width:400px;">'
+ '<div style="float:left;width:50px;">測試</div>'
+ '<div style="float:left;width:320px;">danielinbiti</div>'
+ '</div>'
+ '<div id="divcj2" style="margin-top:15px;font-size:10px;width:400px;">'
+ '<div style="width:320px;">danielinbiti</div>'
+ '</div>'
document.getElementById('outer').innerHTML=html1;
document.getElementById('divcj2').style.display='none';
alert(document.getElementById('divcj2').offsetHeight);
}
</script>
</head>
<body>
<div id='outer'></div>
</body>
</html>
如果獲取divcj的高度,那么在onload中獲取到的是0。因為divcj下有float方式布局的。
這時如果div簡單,可以借助隱藏層,比如這里的divcj2,把float去掉后,獲取到的高度和divcj一樣高。
這里有一個關(guān)鍵點就是float布局在ie是沒問題,但是對于火狐它取到就為0了
在使用IE或者火狐中,特別在目前div+css的方式,往往不定義div的高度,這是在添加div內(nèi)容后,需要獲取div的高度時,往往需要用到offsetHeight。
在使用中,有時會碰到offsetHeight獲取到為0的現(xiàn)象,但如果你用各種JS調(diào)試工具調(diào)試,又能在對象中看到值(如果直接指向offsetHeight是沒值的,但如果是對象查看是有值的,在調(diào)試器中回車查看對象就已經(jīng)刷新對象了,所以有值。)
比如下面片段
代碼如下:
復(fù)制代碼
代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script language='javascript'>
window.attachEvent( "onload", function(){ _resizeScroll2();} );
window.onresize=function(){winresize();};
function _resizeScroll2(){
var html1 = '<div id="divcj" style="margin-top:15px;font-size:10px;width:400px;">'
+ '<div style="float:left;width:50px;">測試</div>'
+ '<div style="float:left;width:320px;">danielinbiti</div>'
+ '</div>'
+ '<div id="divcj2" style="margin-top:15px;font-size:10px;width:400px;">'
+ '<div style="width:320px;">danielinbiti</div>'
+ '</div>'
document.getElementById('outer').innerHTML=html1;
document.getElementById('divcj2').style.display='none';
alert(document.getElementById('divcj2').offsetHeight);
}
</script>
</head>
<body>
<div id='outer'></div>
</body>
</html>
如果獲取divcj的高度,那么在onload中獲取到的是0。因為divcj下有float方式布局的。
這時如果div簡單,可以借助隱藏層,比如這里的divcj2,把float去掉后,獲取到的高度和divcj一樣高。
這里有一個關(guān)鍵點就是float布局在ie是沒問題,但是對于火狐它取到就為0了
相關(guān)文章
- 這篇文章主要介紹了淺談原生頁面兼容IE9問題的解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起2020-12-16
新版chrome瀏覽器設(shè)置允許跨域的實現(xiàn)
這篇文章主要介紹了新版chrome瀏覽器設(shè)置允許跨域的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起2020-11-30css hack之\9和\0就可能對hack IE11\IE9\IE8無效
每次設(shè)計一張網(wǎng)頁或一個表單,都被各種瀏覽器的兼容問題傷透腦筋,尤其是IE家族。在做兼容性設(shè)計時,我們往往會使用各種瀏覽器能識別的獨特語法進行hack,從而達到各種瀏覽2020-03-20css區(qū)分ie8/ie9/ie10/ie11 chrome firefox的代碼
這篇文章主要介紹了css區(qū)分ie8/ie9/ie10/ie11 chrome firefox的代碼,需要的朋友可以參考下2020-03-20- 這篇文章主要介紹了解決CSS瀏覽器兼容性問題的4種方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)2020-02-28
- 這篇文章主要介紹了常見的瀏覽器兼容性問題(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)2020-02-20
- 這篇文章主要介紹了border-radius IE8兼容處理的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)2020-02-12
- 這篇文章主要介紹了淺談遇到的幾個瀏覽器兼容性問題,詳細的介紹了幾種我遇到的問題和解決方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-26
- 這篇文章主要介紹了base64圖片在各種瀏覽器的兼容性處理的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-14
- 這篇文章主要介紹了對常見的css屬性進行瀏覽器兼容性總結(jié)(推薦)的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-20