[英]Call a function onload, and onscroll also?
我有一個在用戶滾動時調用的函數。 效果很好,但是對於那些位於文檔頂部(當然也是視口頂部)的元素,函數內部的效果在第一次滾動后執行。 我需要知道是否可以做這樣的事情:
if(window.onscroll || window.onload){
function toExecute(){}
}
最簡單的方法是將相同的功能綁定到load
和scroll
事件。
但是,由於滾動處理程序被非常快速地調用,並且很容易在移動設備或較舊的瀏覽器上引起性能問題,因此最好對滾動處理程序進行去抖動處理。
function foo() { console.log('foo called at ' + new Date()); } let timer; function debouncedFoo() { if (timer) return; timer = setTimeout(() => { timer = null; foo(); }, 20); } window.addEventListener('load', foo); window.addEventListener('scroll', debouncedFoo);
body { height: 3000px; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.