跳到主要內容

useWindowScroll

類別
導出大小
666 B
上次更改
3 個月前

響應式視窗滾動

示範

請查看螢幕右下角的滾動值。
滾動值
x: 0
y: 0

用法

js
import { useWindowScroll } from '@vueuse/core'

const { x, y } = useWindowScroll()
console.log(x.value) // read current x scroll value
y.value = 100 // scroll y to 100

類型宣告

typescript
export interface UseWindowScrollOptions
  extends ConfigurableWindow,
    UseScrollOptions {}
/**
 * Reactive window scroll.
 *
 * @see https://vueuse.dev.org.tw/useWindowScroll
 * @param options
 */
export declare function useWindowScroll(options?: UseWindowScrollOptions): {
  x: WritableComputedRef<number, number>
  y: WritableComputedRef<number, number>
  isScrolling: ShallowRef<boolean, boolean>
  arrivedState: {
    left: boolean
    right: boolean
    top: boolean
    bottom: boolean
  }
  directions: {
    left: boolean
    right: boolean
    top: boolean
    bottom: boolean
  }
  measure(): void
}
export type UseWindowScrollReturn = ReturnType<typeof useWindowScroll>

原始碼

原始碼示範文件

貢獻者

Anthony Fu
Anthony Fu
Nurettin Kaya
Antério Vieira
Robin
Chen
Jelf
webfansplz
Maik Kowol
Shinigami
Alex Kozack

變更日誌

v12.3.0 於 2025/1/2
a033e - feat: 底層使用 useScroll 函式 (#4424)
v12.0.0-beta.1 於 2024/11/21
0a9ed - feat!: 移除 Vue 2 支援,優化 bundle 並清理程式碼 (#4349)
v10.6.0 於 2023/11/9
931b2 - feat: 允許回寫滾動位置 (#3500)
v9.13.0 於 2023/2/18
e490a - fix: 使用 scrollX 而非 pageXOffset (#2776)

在 MIT 許可證下發布。