我使用此内联用幻灯片动态迭代
<div className="slides" style={{transform: `translate(${currentPosition}%, 0px)`, left: 0}}> {slider} </div>
</div>
正常工作。但是,我想在更改位置的更改中为此元素添加一些Fadein,并且以下CSS不起作用
在元素幻灯片上通过CSS
opacity: 0;
animation: fadein 2s ease-in 1 forwards;
这是我的Fadein动画
@keyframes fadein {
from {
opacity:0;
}
to {
opacity:1;
}
}
在这种情况下我缺少什么?
您可以尝试这样的事情。那将使您知道如何应用动画。
class Test extends React.Component {
constructor(props) {
super(props);
this.state = {
currentPosition: 0,
opacity: 0
}
}
componentDidMount() {
setTimeout(() => this.setState({
opacity: 1
}), 500);
}
handleClick() {
let self = this;
this.setState({
opacity: 0
}, () => setTimeout(() => self.setState({
opacity: 1
}), 2000))
}
render() {
return ( <
div >
<
div className = "slides"
style = {
{
transform: `translate(${this.state.currentPosition}%, 0px)`,
left: 0,
opacity: this.state.opacity
}
} > Some title to test animation < /div> <
button onClick = {
this.handleClick.bind(this)
} > Click < /button> <
/div>
)
}
}
React.render( < Test / > , document.getElementById('container'));
.slides {
transition: all 2s ease-in;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.8/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.8/react-dom.min.js"></script>
<div id="container"></div>
这是小提琴。
希望它有帮助。