ホームページ  >  記事  >  ウェブフロントエンド  >  OnLoad_javascriptスキルでoffsetHeightが0になる現象

OnLoad_javascriptスキルでoffsetHeightが0になる現象

WBOY
WBOYオリジナル
2016-05-16 17:28:101409ブラウズ

IE を使用する場合、特に現在の div css メソッドでは、div の高さが定義されていないことがよくあります。これは、div コンテンツを追加した後に div の高さを取得する必要がある場合に、offsetHeight を使用する必要があることが多いためです。

使っていると、offsetHeight が 0 として取得される現象に遭遇することがありますが、各種 JS デバッグツールを使用してデバッグすると、オブジェクト内の値が確認できます (直接ポイントしても意味がありません) offsetHeight に変換しますが、オブジェクト ビューに値がある場合、オブジェクトはデバッガーで Enter キーを押すことによって更新されているため、値があります)

たとえば、次のフラグメント

コードをコピー コードは次のとおりです:




<スクリプト言語='javascript'>
window.attachEvent( "onload", function(){ _resizeScroll2();} );
window.onresize=function(){winresize();}; (){
var html1 = '
'
'
テスト
'
'
ダニエリンビティ
'< ;/div>'
'
'
'
ダニエリンビティ
'
'
'
document.getElementById('outer').innerHTML=html1;
document.getElementById('divcj2') .style.display= 'none';
alert(document.getElementById('divcj2').offsetHeight);



divcjの高さをonloadすると得られるのは0です。 divcj の下に float レイアウトがあるためです。
div が単純な場合は、ここで divcj2 などの非表示レイヤーを使用できます。float を削除すると、取得される高さは divcj と同じになります。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。