>  기사  >  웹 프론트엔드  >  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();}
function _resizeScroll2 (){
var html1 = '
'
'
Test
'
'
danielinbiti
'< ;/div>'
'
'
'
danielinbiti
'
'
'
document.getElementById('outer').innerHTML=html1;
document.getElementById('divcj2') .style.display= 'none';
alert(document.getElementById('divcj2').offsetHeight)
}

;body>




divcj의 높이를 온로드한 후 얻은 것은 0입니다. divcj 아래에 float 레이아웃이 있기 때문입니다.
div가 간단한 경우 여기에서 divcj2와 같은 숨겨진 레이어를 사용할 수 있습니다. 플로트를 제거한 후 얻은 높이는 divcj와 동일합니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.