| Author: | Epenance |
|---|---|
| Official Page: | Go to website |
| Publish Date: | November 20, 2017 |
| License: | MIT |
Description:
ngx-animate-in is a small Angular library to make it easy to animate elements in whenever they enter the viewport.
Installation:
# NPM $ npm install ngx-animate-in--save
Usage:
Import the module.
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AnimateInModule } from '../../src';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { ProductListComponent } from './product-list/product-list.component';
import { ProductComponent } from './product-list/product/product.component';
@NgModule({
imports: [
BrowserModule,
BrowserAnimationsModule,
AnimateInModule
],
declarations: [
AppComponent,
ProductListComponent,
ProductComponent,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Add the ‘animateIn’ to the target element and set the custom animations as these:
import { Component, ViewEncapsulation, ViewChild } from '@angular/core';
import { animate, style } from '@angular/animations';
@Component({
selector: 'app-root',
template: `<div class="greetings center">
<div>
<h1 animateIn>{{'Hello from App Component'}}</h1>
<h2 animateIn [animateInAnimation]="customAnimation">Custom animation!</h2>
</div>
</div>
<app-product-list></app-product-list>
`,
styleUrls: ['./app.component.scss'],
encapsulation: ViewEncapsulation.None,
})
export class AppComponent {
customAnimation = [
style({opacity: 0, transform: 'translateY(-100px)'}),
animate('600ms cubic-bezier(0.35, 0, 0.25, 1)', style({opacity: 1, transform: 'translateY(0)'}))
];
}