代码之家  ›  专栏  ›  技术社区  ›  Cory Baker

resact.js保持滚动在底部

  •  0
  • Cory Baker  · 技术社区  · 6 年前

    div 作为动画在高度上增长的。我希望窗口自动滚动,而不是超出可视区域(用户必须向下滚动) 分区 身高。锁定页面底部的滚动位置将起作用。

    !!这是反应!!

    代码 https://github.com/coryb08/corydbaker npm install && npm start

    1 回复  |  直到 6 年前
        1
  •  2
  •   Tomasz Bubała    6 年前

    您提供的信息很少,但是由于我们知道它是在React中,所以您可以使用JavaScript来确保div一直滚动到底部。

    class FullMenu extends Component {
      constructor() {
        super()
        this.state = {
          class: "",
          div: ""
        }
        this.scrollToBottom = this.scrollToBottom.bind(this);
      }
      componentDidMount() {
        setInterval(this.scrollToBottom, 20);
      }
      scrollToBottom() {
        var scrollingElement = (document.scrollingElement || document.body); /* you could provide your scrolling element with react ref */
        scrollingElement.scrollTop = scrollingElement.scrollHeight;
      }
      render() {
        return (
          <div id="FullMenu">
            {this.state.div}
            <div id="triangleDiv">
              <img
                className={this.state.class}
                onClick={() => {
                  this.setState({ class: "bounce" })
                  let that = this
                  setTimeout(function() {
                    that.setState({
                      class: "",
                      div: <div className="menuDiv" />
                    })
                  }, 1000)
                }}
                src={triangle}
                id="triangle"
              />
            </div>
          </div>
        )
      }
    }
    

    注意,上面的解决方案始终保持窗口滚动。如果你只想在动画中滚动它,那么你应该使用react的 CSSTransitionGroup 使用 clearInterval transitionEnd 生命周期挂钩。

        2
  •  1
  •   Nurudeen Amedu    5 年前

    你所要做的就是设置div样式

    display: flex;
    flex-direction: column-reverse
    

    这将翻转div滚动条并将其放置在底部