Skip to content

useParallax

Category
Export Size
2.41 kB
Last Changed
10 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.

Build faster with AI
New Masterclass to help you leverage AI in your Vue workflow
Get Early Access