8

John Resig 在 2011 年 1 月写的一篇经常被引用的博客文章建议不要将处理程序附加到窗口滚动事件。

相反,常识说要限制您的处理程序,例如:

$(window).scroll(_.throttle(myScrollHandler, 250));

在我最近的测试中,当处理程序直接附加到滚动事件时,UI 响应要平滑得多。限制处理程序会导致明显的滞后。

现代浏览器是否解决了这个问题?是否有可用的测试或浏览器兼容性数据?

4

1 回答 1

6

油门将每秒触发的事件数减少到 4 个。如果没有节流,每秒可能触发大量事件。每秒 4 次很容易被人眼检测到(取决于您在做什么)。

至于你是否还需要节流,这真的取决于你的客户。如果您正在处理许多使用 IE6 且显卡较差的旧计算机,高速事件触发可能会导致很多明显的问题。它还取决于您的滚动事件实际在做什么(响应需要多长时间,是否消耗内存以及释放内存的速度等)

于 2012-12-10T23:40:22.247 回答