【发布时间】:2018-06-28 02:49:25
【问题描述】:
我有一些带有{position: absolute} 的元素。
当我滚动页面时,我想移动这些元素。
我设置了window.addEventListener(scroll, this.handleScroll)。
简化代码:
componentDidMount = () => {
window.addEventListener('scroll', this.handleScroll);
}
handleScroll {
var scrollLeft = window.pageXOffset;
this.setState({scrollLeft: scrollLeft})
}
...
<div style={{position: "absolute", left: this.state.scrollLeft + "px"
}}>
content
</div>
<div style={{position: "absolute", left: this.state.scrollLeft + "px"
}}>
content
</div>
....
在我的 PC 上效果很好,但在手机上,当元素移动时,我看到一些挂起。如何更顺畅地移动元素?
【问题讨论】:
-
最好使用
fixed位置。您可以将元素样式转换为使用fixed而不是absolute吗? developer.mozilla.org/en-US/docs/Web/CSS/position -
@ArashMotamedi 不,我的元素只能由 x-asis 修复
-
我明白了。我有一些想法要分享,有几个想法可以尝试。请看下面我的回答。希望其中一项建议对您有所帮助。
标签: javascript css reactjs animation