가짜 열 효과를 얻기 위해 jQuery를 사용하는 사이트를 개발하고 있습니다. 테스트 페이지는 http://goo.gl/IL3ZB입니다. 왼쪽 노란색 <aside>
높이는 자바 스크립트에서 .body_container
div의 높이로 설정됩니다. 높이가 올바르게 표시되도록 설정되어 있습니다.페이지로드에 따라 요소 높이가 다릅니다
Firefox 17에서 완전히 새로 고침 (Shift + F5) 할 때 문제가 발생합니다. 정확한 높이와 함께 <aside>
이 올바르게 표시되지만 js의 애니메이션은 훨씬 작은 높이를 보게됩니다. 다음 정상적으로 페이지를 새로 고칠 때 자바 스크립트 또한 올바른 높이를 볼 수 있습니다.
이 문제를 어떻게 해결할 수 있습니까?
이var floating_patents_bottom = 0;
$(window).load(function(){
$('.floating_patents').height($('.body_container').height() );
floating_patents_bottom = ($('.body_container').height() > floating_patents_bottom ? $('.body_container').height() : floating_patents_bottom);
var toBottom = {
'top': floating_patents_bottom
};
});
var toTop = {
'position': 'absolute',
'top': '500px',
'display': 'none'
};
$(document).ready(function(){
$('.floating_patents').height($('.body_container').height() );
floating_patents_bottom = ($('.body_container').height() > floating_patents_bottom ? $('.body_container').height() : floating_patents_bottom);
// floating_patents_bottom = $('.floating_patents').height();
var toBottom = {
'top': floating_patents_bottom
};
var patents = $(".floating_patents img");
patents.css(toTop);
patents.each(function(index) {
$(this).delay(index * 5000).css('margin','10px auto').fadeIn("slow").animate(toBottom , 15000, function(){
$(this).fadeOut("slow");
});
});
});
은 '$ ('. body_container '). height()'를 두 번 이상 호출하지 마십시오. 당신이 그것을 호출 할 때마다, 브라우저는 값을 얻기 위해 DOM을 검색해야만합니다. 단지 한 번만 검색하는 대신 수많은 검색을 수행하고 있습니다. – charlietfl