动画反应组件具有转换和过渡



我使用此内联用幻灯片动态迭代

<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>

这是小提琴。

希望它有帮助。

相关内容

  • 没有找到相关文章

最新更新