Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将处理程序绑定到javascript滚动事件--性能因素_Javascript_Jquery_Event Handling_Scroll - Fatal编程技术网

将处理程序绑定到javascript滚动事件--性能因素

将处理程序绑定到javascript滚动事件--性能因素,javascript,jquery,event-handling,scroll,Javascript,Jquery,Event Handling,Scroll,Im绑定一个事件处理程序,该处理程序执行if检查,以查找屏幕视口中是否存在元素,并调整4-5个元素的宽度 我不确定scroll事件在javascript中是如何工作的。但我的直觉是,即使是1px的滚动,滚动事件也会被触发——在这种情况下,一旦我们开始快速滚动,滚动听起来更像是一个连续的事件(如果我在这里错了,请纠正我)。如果是这样的话,那么计算视口、检查视口中是否存在元素以及执行dom操作不会对性能造成太大影响吗 如果我的假设是错误的,请帮助我理解滚动事件是如何工作的 谢谢。你说得对。最好等到用

Im绑定一个事件处理程序,该处理程序执行if检查,以查找屏幕视口中是否存在元素,并调整4-5个元素的宽度

我不确定scroll事件在javascript中是如何工作的。但我的直觉是,即使是1px的滚动,滚动事件也会被触发——在这种情况下,一旦我们开始快速滚动,滚动听起来更像是一个连续的事件(如果我在这里错了,请纠正我)。如果是这样的话,那么计算视口、检查视口中是否存在元素以及执行dom操作不会对性能造成太大影响吗

如果我的假设是错误的,请帮助我理解滚动事件是如何工作的


谢谢。

你说得对。最好等到用户停止滚动,使用超时。请看另一个。移动设备会自然地执行此操作,因此只有当您停止滚动时,事件才会注册。据我所知,这是为了实现长页面的高效滚动。我认为除非你有一个非常关键的应用程序或网页,否则性能冲击不会太大。添加一个超时实际上是添加了另一个稍后需要终止的进程,如果它有帮助,我会说可能更好,但可能没有。您可以运行一些测试,也可以直接执行,如果出现问题,请重新访问。