2010-10-26 100 views
0

我有下面的代碼,當我們滾動時,彈出窗口居中,它很快將它重新定位到中心。如何獲得平滑效果,就好像下降非常平滑一樣。窗口滾動平滑效果

$(window).scroll(function() { 

     var top = ($(window).height() - $('.myPopUp').height())/2 + $(window).scrollTop(); 
     $('.myPopUp').animate({ top: top }, 10); 

}); 

我試圖發揮速度,但它的速度相當快。

回答

2

你只需要增加你的動畫時間,目前在10毫秒,這樣的:

$(window).scroll(function() { 
    var top = ($(window).height() - $('.myPopUp').height())/2 + $(window).scrollTop(); 
    $('.myPopUp').animate({ top: top }, 200); 
}); 

動畫幀在13毫秒的時間間隔,所以10ms的瞬間將改變,給它一個持續時間較長,像200毫秒以上會帶來更平滑的效果。爲了快速滾動的場景,你可能會想在那裏.stop()過,像這樣:

$('.myPopUp').stop(true).animate({ top: top }, 200); 
+0

你是輝煌非常感謝你,是停止和增加時間給出了一個平穩effect.Once再次感謝你 – kobe 2010-10-26 00:23:08

+0

@政府 - 歡迎:) – 2010-10-26 00:24:22

+0

關於這個問題的任何想法http://stackoverflow.com/questions/4006674/jquery-image-animation-from-one-location-to-another,它會很好,如果你可以提供一些方向。我得到了一些答案,但我試圖機智的所有變化,但它並沒有以我想要的方式來 – kobe 2010-10-26 02:18:07