Comments (9)
This may be helpful. It is a demonstration of button hover effect.
import anime from 'animejs'
...
const JoinWaitlistButton = ({ href, title }) => {
return(
<div>
<a
href={ href }
onMouseOver={e => {
anime({
targets: e.currentTarget,
backgroundPositionX: '10px',
scale: {
value: 1.05,
delay: 300,
duration: 500
}
})
}}
onMouseOut={e => {
anime({
targets: e.currentTarget,
backgroundPositionX: '0px',
scale: {
value: 1,
delay: 300,
duration: 500
}
})
}}>
{ title }
</a>
</div>
)
}
from anime.
Another example of anime.js in react without any other libraries, just lifecycles:
import React, { Component } from 'react'
import anime from 'animejs'
class Animated extends Component {
componentDidMount(){
anime({
targets: '.anim',
translateX: [
{ value: 100, duration: 1200 },
{ value: 0, duration: 800 }
],
rotate: '1turn',
backgroundColor: '#FFF',
duration: 2000,
loop: true
});
}
render() {
return(
<div class="anim">
Here goes the element you want to animate!
</div>
)
}
}
export default Animated
from anime.
You can easily integrate it with React by using refs and something like ReactDOM.findDOMNode(this.refs.animeTarget)
. Anime's targets
prop takes DOM elements and that's exactly what you pass it if you get the target via findDOMNode
.
If you want to animate multiple things you might want to namespace your refs and then store them in arrays to pass to your anime
constructor.
from anime.
Couldn't you also make anime a component? And just wrap the components you want to animate?
from anime.
I'm not familiar with React and the virtual dom, but like @rohan-deshpande said, as long as you're using a valid DOM element as a target, it should work.
from anime.
Given that React is becoming such a dominant player in frontend web development, I suggest that @muratgozel's example be put on the README somewhere.
from anime.
@adrianmcli @muratgozel check out react-anime
from anime.
@kennetpostigo awesome! thanks for the link. Maybe there should be a link to it on the README then.
from anime.
An example of updating a javascript object in state inside a class component instead of directly altering the DOM element ref:
const style = this.state.style
animejs({
targets: style,
scale: 1.005,
boxShadow: 8,
update: a => this.setState({ style })
})
from anime.
Related Issues (20)
- JAVASCRIPT Nested OBJECT HOT 1
- Animation does not continue after pause and reversal HOT 2
- Speed up the duration during reverse playback
- Unable to use anime.js with node and express HOT 11
- Feature: ability to set innerHTML beyond numeric values HOT 1
- Spider-weeb app
- Bug report: spring-based motion not completing (Vanilla JS, HTML, CSS) HOT 4
- How to run animation on same element but with different text ? HOT 3
- can you run a for each loop in the targets? or refresh where the target is pointing to with the loopComplete callback?
- Just a question about line drawing in the docs HOT 2
- Why a cant use play/pause buttons? HOT 1
- Why cant I connect anime? HOT 1
- Does anime have a feature that can be used to implement horizontal scrolling? HOT 1
- anime.seek(0) not working HOT 3
- Anime V4 HOT 2
- Duration property problem when I use an event
- animejs morph is broken for more then 1 object HOT 1
- Refusal for Execution HOT 4
- Timeline does not draw all paths (stoke dash effect) HOT 1
- There are non-trivial differences between anime.js and anime.min.js. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from anime.