我正在尝试根据网页的 Y 滚动位置设置导航栏背景颜色。问题是,一旦我进入要设置导航栏背景状态的 Y 坐标之间,它就不会停止设置,直到页面冻结。这是我的代码,以便更好地理解:
获取 Y 滚动位置,检查其是否在 600 和 650 之间,如果为 true,则设置导航栏背景颜色:
const [navbarBg, setNavbarBg] = useState(style_buttons)
function runOnScroll() {
const scrolled = window.scrollY
if (scrolled > 600 && scrolled < 650) {
setNavbarBg(style_project1)
}
}
window.addEventListener("scroll", runOnScroll)
即使我没有滚动并且我不知道如何打破它,它也会不断设置状态。
我尝试使用 UseEffect 但我认为我不清楚如何使用它。
有人可以帮忙吗?
红糖糍粑
catspeake
相关分类