我正在開發一個網站,我使用jQuery來實現虛擬列效果。這裏是一個測試頁面:http://goo.gl/IL3ZB。左邊的黃色<aside>
高度設置在java腳本中,高度爲.body_container
div。顯示器的高度設置正確。不同高度的元素取決於頁面加載
問題是,當我在Firefox 17中進行全屏刷新(Shift + F5)時,<aside>
顯示正確,高度正確,但js中的動畫看到的高度更小。當我通常刷新頁面時,那麼Java腳本也會看到正確的高度。
我該如何解決這個問題?
這裏是我的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