最近我花了一些時間閱讀關於jQuery優化技巧,這無疑幫助提高了我的腳本的性能。但是,我在我的網站上有這個特色新聞部分,它在鼠標懸停的位置上放置了更多信息,而且這部分在除Safari之外的任何瀏覽器中表現都不是很好(當然也可能是Chrome)。 )優化jQuery懸停代碼以更好地執行(更平滑的動畫)
我相信這樣做的原因是它在動畫之前對每個mouseover/mouseout事件進行了相當多的DOM遍歷和計算。
我的問題很簡單:有沒有什麼辦法來優化下面的代碼,使動畫運行更順利?
$('#featuredSide .featuredBox,#featuredBottom .featuredBox,#archiveVideos .featuredBox').hover(function(){
var boxHeight = parseInt($(this).css('height'))-8;
var bottomOrSide = $(this).parents("div[id^='featured']").attr("id")
var captionPos = 76;
var captionHeight = parseInt($(this).find(".videoCaption").css('height'));
var animateTo = boxHeight-captionHeight;
$(".videoCaption", this).stop().animate({top:animateTo + 'px'},{queue:false,duration:160});
}, function() {
$(".videoCaption", this).stop().animate({top:captionPos},{queue:false,duration:100});
});
由於我工作的網站尚未公佈我已經uploaded a screenshot of the news section給你的是什麼樣子的想法。
謝謝!
這是一個相當優雅的解決方案。我一定會試着看看它在性能方面是否會產生更好的結果。 再次感謝! – heintore 2009-10-07 09:56:10