anime-js▌
dylantarre/animation-principles · updated Apr 8, 2026
Implement all 12 Disney animation principles using Anime.js's flexible animation engine.
Anime.js Animation Principles
Implement all 12 Disney animation principles using Anime.js's flexible animation engine.
1. Squash and Stretch
anime({
targets: '.ball',
scaleX: [1, 1.2, 1],
scaleY: [1, 0.8, 1],
duration: 300,
easing: 'easeInOutQuad'
});
2. Anticipation
anime.timeline()
.add({
targets: '.character',
translateY: 10,
scaleY: 0.9,
duration: 200
})
.add({
targets: '.character',
translateY: -200,
duration: 400,
easing: 'easeOutQuad'
});
3. Staging
anime({
targets: '.background',
filter: 'blur(3px)',
opacity: 0.6,
duration: 500
});
anime({
targets: '.hero',
scale: 1.1,
duration: 500
});
4. Straight Ahead / Pose to Pose
anime({
targets: '.element',
keyframes: [
{ translateX: 0, translateY: 0 },
{ translateX: 100, translateY: -50 },
{ translateX: 200, translateY: 0 },
{ translateX: 300, translateY: -30 }
],
duration: 1000
});
5. Follow Through and Overlapping Action
anime.timeline()
.add({ targets: '.body', translateX: 200, duration: 500 })
.add({ targets: '.hair', translateX: 200, duration: 500 }, '-=450')
.add({ targets: '.cape', translateX: 200, duration: 600 }, '-=500');
6. Slow In and Slow Out
anime({
targets: '.element',
translateX: 300,
duration: 600,
easing: 'easeInOutCubic'
});
// Options: easeInQuad, easeOutQuad, easeInOutQuad
// easeInCubic, easeOutCubic, easeInOutCubic
// spring(mass, stiffness, damping, velocity)
7. Arc
anime({
targets: '.ball',
translateX: 200,
translateY: [
{ value: -100, duration: 500 },
{ value: 0, duration: 500 }
],
easing: 'easeOutQuad',
duration: 1000
});
// Or use SVG path
anime({
targets: '.element',
translateX: anime.path('.motion-path')('x'),
translateY: anime.path('.motion-path')('y'),
duration: 1000
});
8. Secondary Action
const tl = anime.timeline();
tl.add({
targets: '.button',
scale: 1.1,
duration: 200
})
.add({
targets: '.icon',
rotate: 15,
duration: 150
}, '-=150')
.add({
targets: '.particles',
opacity: [0, 1],
delay: anime.stagger(50)
}, '-=100');
9. Timing
// Fast - snappy
anime({ targets: '.fast', translateX: 100, duration: 150 });
// Normal
anime({ targets: '.normal', translateX: 100, duration: 300 });
// Slow - dramatic
anime({ targets: '.slow', translateX: 100, duration: 600 });
// Spring physics
anime({ targets: '.spring', translateX: 100, easing: 'spring(1, 80, 10, 0)' });
10. Exaggeration
anime({
targets: '.element',
scale: 1.5,
rotate: '2turn',
duration: 800,
easing: 'easeOutElastic(1, 0.5)' // overshoot
});
11. Solid Drawing
anime({
targets: '.box',
rotateX: 45,
rotateY: 30,
perspective: 1000,
duration: 500
});
12. Appeal
anime({
targets: '.card',
scale: 1.02,
boxShadow: '0 20px 40px rgba(0,0,0,0.2)',
duration: 300,
easing: 'easeOutQuad'
});
Stagger Animation
anime({
targets: '.item',
translateY: [20, 0],
opacity: [0, 1],
delay: anime.stagger(100), // 100ms between each
easing: 'easeOutQuad'
});
Key Anime.js Features
anime.timeline()- Sequence animationskeyframes- Multiple posesanime.stagger()- Offset delaysanime.path()- SVG motion paths- Built-in easings +
spring()+elastic() '-=200'- Relative offset timinganime.set()- Instant property set
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.5★★★★★29 reviews- ★★★★★Lucas Johnson· Dec 8, 2024
Keeps context tight: anime-js is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Li Garcia· Dec 8, 2024
anime-js has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Amina Bansal· Nov 27, 2024
Registry listing for anime-js matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Alexander Anderson· Nov 27, 2024
Solid pick for teams standardizing on skills: anime-js is focused, and the summary matches what you get after install.
- ★★★★★Arya Ramirez· Oct 18, 2024
Useful defaults in anime-js — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Dev Sanchez· Oct 18, 2024
anime-js is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Min Li· Sep 25, 2024
We added anime-js from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Lucas Shah· Sep 25, 2024
Keeps context tight: anime-js is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Piyush G· Sep 21, 2024
Solid pick for teams standardizing on skills: anime-js is focused, and the summary matches what you get after install.
- ★★★★★Arya Sanchez· Sep 1, 2024
anime-js reduced setup friction for our internal harness; good balance of opinion and flexibility.
showing 1-10 of 29