Skip to content

useParallax

Category
Export Size
2.41 kB
Last Changed
11 months 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
Antério Vieira
Anthony Fu
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.

Turn AI into a coding partner
Claim 40% off for AIDD Masterclass.
Get discount