변경 매우 극소수의 DOM을 가지고 있습니다. 페이지에 첫 번째 높이 값이 CSS로만 설정된 문서가 준비되어 있고, jQuery 함수가 해당 요소에 새로운 높이 값을 지정합니다. 내 문제는 페이지가 빌드 될 때입니다. 이 변화는 시각적으로 눈에 is니다. 요소가 jQuery 함수에서 새로운 높이 값을 빠르게 얻는 것을 볼 수 있습니다. 제 목표는이를 방지하는 것입니다. 따라서 페이지가로드 될 때 jQuery 높이 값을 가진 요소 만 볼 수 있습니다. 비동기 또는 지연이 설정되지 않은 한 모든 의사 준비 함수가 실행될 때까지 자바 스크립트 렌더링이 브라우저에서 페이지를 빌드하지 못하게한다고 생각했지만 지금은 잘못된 것이라고 가정하고 있습니다.일은 내가 다음을보고있는 이유, 그리고 그것을 해결하는 방법에 대한 이해의 하단에 도착하기 위해 노력하고있어
편집 :
내가 해결하기 위해 노력하고있어 문제가 특히 높이와 아무 상관이있다, 이것은 단지 예입니다, 명확히하기 위해, 나는이 사실을 주위에 일자리를 찾기 위해 노력하고있어 내 jQuery에서 시각적으로 지연되어 CSS를 doc에 적용하고 지연이 왜 발생하는지 더 잘 이해할 수 있습니다.
전체 DOM : 당신이 상자를 사용자 창 높이의 50 %를 원한다면
<style>
html {
background: #eee;
}
.box {
height: 64px;
width: 50%;
max-width: 280px;
max-width: 1280px;
margin: 64px auto 0 auto;
position: relative;
background: #fff;
box-shadow: 0 0.08em 0.25em 0 rgba(0,0,0,0.3);
}
</style>
<script type='text/javascript' src='[my path]/js/jquery-3.1.1.min.js?ver=3.1.1'></script>
<script type="text/javascript">
jQuery(document).ready(function(){
function adjustBox() {
windowHeight = window.document.documentElement.clientHeight;
$('.box').css('height', windowHeight * 1/2);
}
adjustBox();
});
</script>
<div class="box"></div>
은 왜 그냥'50vh'에 CSS의 높이를 설정하지? –
글쎄, 내가 이해해야 할 문제는 페이지로드시 시각적으로 영향을 미치는 javascript의 지연을 막을 수있는 방법이라는 것입니다. –
언제든지 요소를 애니메이션으로 만들 수 있습니다. ?? 그렇지 않으면 CSS가 가장 좋은 방법입니다. 정확한 문제는 무엇입니까? 일반적으로 예제를 제공하면 실제로 필요하지 않은 답변을 가져올 수 있습니다. –