Skip to content

useParallax

Category
Export Size
2.41 kB
Last Changed
5 days ago

Create parallax effect easily. It uses useDeviceOrientation and fallback to useMouse if orientation is not supported.

Demo

roll: 0.5
tilt: -0.5
source: mouse
Credit of images to Jarom Vogel

Usage

vue
<script setup lang="ts">
import { 
useParallax
} from '@vueuse/core'
const
container
=
ref
(null)
const {
tilt
,
roll
,
source
} =
useParallax
(
container
)
</script> <template> <
div
ref
="
container
" />
</template>

Type Declarations

ts
export interface UseParallaxOptions extends ConfigurableWindow {
  
deviceOrientationTiltAdjust
?: (
i
: number) => number
deviceOrientationRollAdjust
?: (
i
: number) => number
mouseTiltAdjust
?: (
i
: number) => number
mouseRollAdjust
?: (
i
: number) => number
} export interface UseParallaxReturn { /** * Roll value. Scaled to `-0.5 ~ 0.5` */
roll
:
ComputedRef
<number>
/** * Tilt value. Scaled to `-0.5 ~ 0.5` */
tilt
:
ComputedRef
<number>
/** * Sensor source, can be `mouse` or `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

Contributors

Anthony Fu
Anthony Fu
Antério Vieira
Vida Xie
SerKo
Robin
James Garbutt
IlyaL
Robin
huiliangShen
Jelf
wheat

Changelog

v12.0.0-beta.1 on
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
v10.8.0 on
3fd94 - feat: can work with different screen orientation (#3675)

Released under the MIT License.

Spec-Driven Development
Get deterministic output from your AI agent
Free 2h hands-on training
Claim your seat
06
hours
:
21
minutes
:
46
seconds
: