熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

offsetHeight在OnLoad中獲取為0的現象

2013-11-15 12:15:39  來源: JSP教程 
需要獲取div的高度時往往需要用到offsetHeight有時會碰到offsetHeight獲取到為的現象感興趣的朋友可以參考下面的代碼片段  

  在使用IE中特別在目前div+css的方式往往不定義div的高度這是在添加div內容後需要獲取div的高度時往往需要用到offsetHeight

在使用中有時會碰到offsetHeight獲取到為的現象但如果你用各種JS調試工具調試又能在對象中看到值(如果直接指向offsetHeight是沒值的但如果是對象查看是有值的在調試器中回車查看對象就已經刷新對象了所以有值

比如下面片段

復制代碼 代碼如下:
<!DOCTYPE html PUBLIC "//WC//DTD XHTML Transitional//EN" "
<html>
<head>
<script language=javascript>
windowattachEvent( "onload" function(){ _resizeScroll();} );
windowonresize=function(){winresize();};
function _resizeScroll(){
var html = <div id="divcj" style="margintop:px;fontsize:px;width:px;">
+ <div style="float:left;width:px;">測試</div>
+ <div style="float:left;width:px;">danielinbiti</div>
+ </div>
+ <div id="divcj" style="margintop:px;fontsize:px;width:px;">
+ <div style="width:px;">danielinbiti</div>
+ </div>
documentgetElementById(outer)innerHTML=html;
documentgetElementById(divcj)styledisplay=none;
alert(documentgetElementById(divcj)offsetHeight);
}
</script>
</head>
<body>
<div id=outer></div>
</body>
</html>

  
如果獲取divcj的高度那麼在onload中獲取到的是因為divcj下有float方式布局的
這時如果div簡單可以借助隱藏層比如這裡的divcj把float去掉後獲取到的高度和divcj一樣高


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20591.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.