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事件每秒只执行四次。 –