Javascript 调用函数onload,也调用onscroll?

Javascript 调用函数onload,也调用onscroll?,javascript,Javascript,我有一个在用户滚动时调用的函数。工作正常,但对于文档顶部(当然也包括视口顶部)的元素,函数内部的效果在第一次滚动后执行。我需要知道是否有这样的方法: if(window.onscroll || window.onload){ function toExecute(){} } 最简单的方法是将相同的函数绑定到load和scroll事件。 但是,由于滚动处理程序的调用速度非常快,并且很容易在移动设备或旧浏览器上导致性能问题,因此滚动处理程序更好 函数foo(){ log('foo在'+n

我有一个在用户滚动时调用的函数。工作正常,但对于文档顶部(当然也包括视口顶部)的元素,函数内部的效果在第一次滚动后执行。我需要知道是否有这样的方法:

if(window.onscroll || window.onload){
    function toExecute(){}
}

最简单的方法是将相同的函数绑定到
load
scroll
事件。
但是,由于滚动处理程序的调用速度非常快,并且很容易在移动设备或旧浏览器上导致性能问题,因此滚动处理程序更好

函数foo(){
log('foo在'+newdate()调用);
}
让定时器;
函数debouncedFoo(){
如果(定时器)返回;
计时器=设置超时(()=>{
定时器=空;
foo();
}, 20);
}
window.addEventListener('load',foo);
window.addEventListener('scroll',debouncedFoo)
正文{
高度:3000px;

}
最简单的方法是将相同的函数绑定到
加载
滚动
事件。
但是,由于滚动处理程序的调用速度非常快,并且很容易在移动设备或旧浏览器上导致性能问题,因此滚动处理程序更好

函数foo(){
log('foo在'+newdate()调用);
}
让定时器;
函数debouncedFoo(){
如果(定时器)返回;
计时器=设置超时(()=>{
定时器=空;
foo();
}, 20);
}
window.addEventListener('load',foo);
window.addEventListener('scroll',debouncedFoo)
正文{
高度:3000px;

}
您不能为这两个事件绑定函数吗
window.onscroll=function(){functionToExecute()}
window.onload=function(){functionToExecute()}
我可以,这是最终的解决方案。我只是避免了可能花费太多资源的问题,只是暂时调用了它(onload函数),但事实并非如此。我想这就是为什么只调用一次。你不能为这两个事件绑定函数吗
window.onscroll=function(){functionToExecute()}
window.onload=function(){functionToExecute()}
我可以,这是最终的解决方案。我只是避免了可能花费太多资源的问题,只是暂时调用了它(onload函数),但事实并非如此。我想这就是为什么只叫一次。