Skip to content

useParallax

Category
Export Size
1.5 kB
Last Changed
15 minutes ago

轻松创建视差效果。它使用 useDeviceOrientation 如果不支持方向,则回退到 useMouse

Demo

roll: .nan
tilt: .nan
source: mouse
图片来源: Jarom Vogel

使用方法

vue
<script setup>
import { useParallax } from '@vueuse/core'

const container = ref(null)
const { tilt, roll, source } = useParallax(container)
</script>

<template>
  <div ref="container" />
</template>

类型声明

typescript
export interface UseParallaxOptions extends ConfigurableWindow {
  deviceOrientationTiltAdjust?: (i: number) => number
  deviceOrientationRollAdjust?: (i: number) => number
  mouseTiltAdjust?: (i: number) => number
  mouseRollAdjust?: (i: number) => number
}
export interface UseParallaxReturn {
  /**
   * 滚动值。缩放至 `-0.5 ~ 0.5`
   */
  roll: ComputedRef<number>
  /**
   * 倾斜值。缩放至 `-0.5 ~ 0.5`
   */
  tilt: ComputedRef<number>
  /**
   * 传感器来源,可以是 `mouse` 或 `deviceOrientation`
   */
  source: ComputedRef<"deviceOrientation" | "mouse">
}
/**
 * Create parallax effect easily. It uses `useDeviceOrientation` and fallback to `useMouse`
 * if orientation is not supported.
 *
 * @param target
 * @param options
 */
export declare function useParallax(
  target: MaybeElementRef,
  options?: UseParallaxOptions,
): UseParallaxReturn

Source

SourceDemoDocs

贡献者

Anthony Fu
丶远方
Antério Vieira
Anthony Fu
huiliangShen
Jelf
wheat

变更日志

v10.8.0 on 2/20/2024
3fd94 - feat: can work with different screen orientation (#3675)

Released under the MIT License.