簡體   English   中英

調用函數onload,也onscroll嗎?

[英]Call a function onload, and onscroll also?

我有一個在用戶滾動時調用的函數。 效果很好,但是對於那些位於文檔頂部(當然也是視口頂部)的元素,函數內部的效果在第一次滾動后執行。 我需要知道是否可以做這樣的事情:

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

最簡單的方法是將相同的功能綁定到loadscroll事件。
但是,由於滾動處理程序被非常快速地調用,並且很容易在移動設備或較舊的瀏覽器上引起性能問題,因此最好對滾動處理程序進行去抖動處理。

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM