以下是我handleScroll尝试添加red类的函数,如果它向下滚动到某个限制,否则会应用blue。然而,这只是在else声明中,也是console.log(e.target.scrollTop);它的安慰undefined。让我知道我在这里做错了什么。代码 -handleScroll(e) { console.log(e.target.scrollTop); if (window.screenX > 100) { this.setState({ navBckgroundColor: `red` }); } else { this.setState({ navBckgroundColor: `blue` }); } }Codesandbox - https://codesandbox.io/s/silly-feynman-m6hp1
3 回答

慕工程0101907
TA贡献1887条经验 获得超5个赞
使用window.scrollY代替window.screenY和绑定 handleScroll 方法。
handleScroll = (e) => {
if (window.scrollY > 100) {
this.setState({
navBckgroundColor: `red`
});
} else {
this.setState({
navBckgroundColor: `blue`
});
}
}
添加回答
举报
0/150
提交
取消