All Projects → vycoder → vue-animate-onscroll

vycoder / vue-animate-onscroll

Licence: other
A simple component that animates elements as they scroll into view.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to vue-animate-onscroll

React Awesome Resume
a resume by using Luy/React
Stars: ✭ 337 (+278.65%)
Mutual labels:  animate
Simpleratingbar
A simple RatingBar that you can easier to customize image and animations
Stars: ✭ 1,157 (+1200%)
Mutual labels:  animate
Animoji Animate
Facial-Landmarks Detection based animating application similar to Apple-Animoji™
Stars: ✭ 142 (+59.55%)
Mutual labels:  animate
Ngx Page Scroll
Animated scrolling functionality for angular written in pure typescript
Stars: ✭ 422 (+374.16%)
Mutual labels:  animate
React Move
React Move | Beautiful, data-driven animations for React
Stars: ✭ 6,395 (+7085.39%)
Mutual labels:  animate
React Text Transition
Animate your text changes
Stars: ✭ 121 (+35.96%)
Mutual labels:  animate
Qinvideo
基于node.js开发的一套CMS后台管理系统,支持番剧,漫画,文章,弹幕等等
Stars: ✭ 264 (+196.63%)
Mutual labels:  animate
Angular Fx
Angular CSS3 animation directives (ngfx-bounce, ngfx-shake, ngfx-flip, ngfx-pulse and more ...) https://720kb.github.io/angular-fx
Stars: ✭ 181 (+103.37%)
Mutual labels:  animate
Korge
KorGE Game Engine. Multiplatform Kotlin Game Engine
Stars: ✭ 780 (+776.4%)
Mutual labels:  animate
React Scrollchor
A React component for scroll to `#hash` links with smooth animations
Stars: ✭ 141 (+58.43%)
Mutual labels:  animate
React Motion Layout
🦸 Beautiful immersive React hero animations.
Stars: ✭ 509 (+471.91%)
Mutual labels:  animate
React Keyframes
Create frame-based animations in React
Stars: ✭ 561 (+530.34%)
Mutual labels:  animate
Mergi
go library for image programming (merge, crop, resize, watermark, animate, ease, transit)
Stars: ✭ 127 (+42.7%)
Mutual labels:  animate
Boomjs
JavaScript实现一个有趣的浏览器图片爆炸动画效果
Stars: ✭ 379 (+325.84%)
Mutual labels:  animate
Mimic.css
Everyone else is doing it!
Stars: ✭ 144 (+61.8%)
Mutual labels:  animate
Tween One
Animate One React Element
Stars: ✭ 310 (+248.31%)
Mutual labels:  animate
React Simple Animate
🎯 React UI animation made easy
Stars: ✭ 1,626 (+1726.97%)
Mutual labels:  animate
Fabulousfilter
Android library to animate Floating Action Button to Bottom Sheet Dialog and vice-versa
Stars: ✭ 2,477 (+2683.15%)
Mutual labels:  animate
Blazor.animate
Easily add fade, slide and zoom-effects into your Blazor applications.
Stars: ✭ 152 (+70.79%)
Mutual labels:  animate
Vue Loaders
Vue + loaders.css
Stars: ✭ 127 (+42.7%)
Mutual labels:  animate

vue-animate-onscroll

A simple Vue directive that animates elements as they scroll into view.

Installation

npm install vue-animate-onscroll
# or
yarn add vue-animate-onscroll

Setup

Import to your Vue application

import Vue from 'vue'
import VueAnimateOnScroll from 'vue-animate-onscroll'

Vue.use(VueAnimateOnScroll)

Usage

For demo purposes, let's use animate.css, a css animation library but using your own custom CSS animations would work the same way as well.

Import animate.css anyway you like. For demo purposes, in your index.html

<head>
  <!-- some other stuff -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/animate.min.css">
</head>

Pass the desired class as a string literal (in single quotes) in your Vue template:

<div v-animate-onscroll="'animated flip'">Animate me once upon scroll</div>

Offset

To trigger the animation with an offset at the top and the bottom you can add an data-animate-onscroll-offset attribute like:

<div v-animate-onscroll="'animated flip'" data-animate-onscroll-offset="100">Animate me upon scroll with an offset of 100px</div>

Repeat Modifier

Note that by default the animation will only trigger once: the first time the element scrolled into view. If you want to repeat the animation everytime it was scrolled into view, use the repeat modifier:

<div v-animate-onscroll.repeat="'animated flip'">Animate me upon scroll forever</div>

In-/Out-Animations

For an infinity in- and out-animation on scroll you can use in and out keys. For the best result use a combination with data-animate-onscroll-offset:

<div v-animate-onscroll.repeat="{in: 'animated flipInX', out: 'animated flipOutX'}" data-animate-onscroll-offset="100">Animate me upon scroll forever</div>

Scroll Direction

It's also possible to animate only on a specific scroll direction by passing in an object as the value. In the following example, the animation will only trigger the first time you scroll down on the element.

<div v-animate-onscroll="{down: 'animated flip'}">Animate me once upon scroll down</div>

On upward scroll:

<div v-animate-onscroll="{up: 'animated rotateOut'}">Animate me once upon scroll up</div>

If you want to repeat the animation everytime you scroll down to the element add the repeat modifier:

<div v-animate-onscroll.repeat="{down: 'animated flip'}">Animate me everytime you scroll down on me</div>

Multiple animations

Or use two different animations for each scroll direction:

<div v-animate-onscroll="{down: 'animated flip', up: 'animated rotateOut' }">Animate me upon scroll forever</div>

Note that by providing both up and down directions, the repeat modifier is implicitly in effect.

Demo

Live demo here.

License

Creative Commons License
vue-animate-onscroll by Joseph Harvey Angeles is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Based on a work at https://github.com/josephharveyangeles/vue-animate-onscroll.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].