8
John Resig在2011年1月撰寫了一個oft-cited blog post,建議不要將處理程序附加到窗口滾動事件。
取而代之的是,通常人們說掐死你的處理程序,例如:
$(window).scroll(_.throttle(myScrollHandler, 250));
我在最近的測試中,UI響應更平滑,當處理器直接連接到滾動事件。限制處理程序會導致明顯的滯後。
有現代瀏覽器解決了這個問題嗎?是否有任何測試或瀏覽器兼容性數據可用?
在大多數瀏覽器中仍然會每秒觸發多次 – charlietfl
'限制處理程序導致可見的滯後「 - 因爲你沒有節流而獲得更多的事件命中。如果您的方式在合理的硬件和合理的現代瀏覽器上運行良好,那麼請盡一切努力。但要尊重那些沒有最先進的瀏覽器或電腦的人。另請參閱http://benalman.com/projects/jquery-throttle-debounce-plugin/ –
您也可以嘗試縮短延遲時間。在250,你的.scroll事件每秒只執行四次。 –