[WebAPIs] Window 物件
keywords: window
Window Object @ MDN WebAPIs
執行緒與時間處理相關
window.requestIdleCallback()
透過 window.requestIdleCallback()
方法可以把一個函式先放入佇列(queues)中,直到瀏覽器處於閒置狀態(idle periods)時才去執行。這可以讓開發者在不要影 響到 latency-critical events (如,動畫、使用者輸入時)執行背景或重要性較低的工作。
一般來說函式都是 **FIFO(first-in-first-out)**的順序,但是帶有 timeout
的 callback 則稱作 out-of-order
。
var handleID = window.requestIdleCallback(callback[, options]);
延伸閱讀:Cooperative Scheduling of Background Tasks API @ MDN Background Tasks API
setTimeout, setInterval, requestAnimationFrame
參考筆記:[計時與動畫 Timer with setInterval, setTimeout, requestAnimationFrame.md]([WEB] 計時與動畫 Timer with setInterval, setTimeout, requestAnimationFrame.md)
Scroll 捲動事件
取得瀏覽器捲軸的位置: scrollY, pageYOffset
window.pageYOffset
只是 window.scrollY
的另一個名稱(alias),本質上是一樣的:
window.scrollY;
window.pageYOffset == window.scrollY; // always true。
如果要考慮跨瀏覽器兼容性(cross-browser capability)的話,建議使用下面的寫法:
var start = window.pageYOffset || document.documentElement.scrollTop;
window.scrollY @ MDN