【发布时间】:2021-03-13 05:23:39
【问题描述】:
我尝试构建一个滚动时带有阴影的粘性导航栏。我尝试在导航上添加滚动,但它不起作用。
import React, { Component } from 'react'
import { MenuItems } from "./navbar"
import './navbar.css'
import { Button} from "../Button";
class Navbar extends Component {
state = { clicked : false}
scroll = {scrolled : false}
handleScroll = () => {
const offset = window.scrollY;
if (offset > 200) {
this.setState({scrolled : !this.scroll.scrolled})
}
}
handleClick = () => {
this.setState({ clicked: !this.state.clicked})
}
render() {
return(
<div onScroll={this.handleScroll}>
<nav className={this.scroll.scrolled ? "NavbarItems" : "NavbarItems Scroll"}>
<h1 className="navbar-logo">React <i className="fab fa-react"></i></h1>
<div className="menu-icon" onClick={this.handleClick}>
<i className={this.state.clicked ? "fas fa-times" : 'fas fa-bars'}></i>
</div>
<ul className={this.state.clicked ? 'nav-menu active' : 'nav-menu'}>
{
MenuItems.map((items, index) => {
return (
<li key = {index}><a className={items.cName} href={items.url}>
{items.title}
</a></li>
);
})
}
</ul>
<Button> Contact US </Button>
</nav>
</div>
);
}
}
export default Navbar
我做错了什么?不能那样做吗?我对 react 和 javascript 还很陌生,所以我猜这不是正确的方法。
如果有任何参考,请告诉我。这将是令人愉快的。
【问题讨论】:
标签: javascript reactjs scroll