2012-11-09 77 views
5

我試圖操縱元素的位置,所以在某個頁面滾動位置之間,他的css被改變了。 看看這個簡單的例子:http://jsfiddle.net/6RtTX/8/

問題是 - $(window).scroll是不是很準確,所以如果我滾動非常快,它變得非常混亂。

有沒有辦法解決這個問題?我可以將這些操作排列在$(window).scroll方法中嗎?

在此先感謝。

+0

反彈 - 滾動事件經常發生。 – Bergi

+0

試圖 - 沒有幫助,debounce只是跳過間隔的方法調用 – LorDex

+3

對於這個簡單的事情,你應該設置位置:固定當滾動視圖在正確的區域 – Bergi

回答

0

嘗試改變你這樣的提琴代碼:

$(window).scroll(function(event) { 
    if (event.pageY > 100 && event.pageY < 5000) { 
     $('.test').css({ 
      'left' : $(window).scrollTop() - 80, 
      'top' : $(window).scrollTop() + 100 
     });    
    } 
}); 

通過使用傳遞的事件,以獲得測量,而不是再次測量,我發現,準確性大大提高。

+0

它不適用於我,你使用的是什麼jQuery版本? – neoDev

+0

即時通訊使用1.8.3,但這應該真正適用於任何版本的jQuery。 – katzenhut

+0

不知道,因爲昨天我注意到,最近jQ版本沒有'event.pageY' – neoDev