我正在尝试在用户向下滚动时向网站的导航栏添加粘性导航栏效果。即当浏览器向下滚动一定高度时,我希望导航栏固定在页面顶部
我正在尝试用反应钩子来实现这个。这是导航栏的代码
导航栏.js
import { useEffect, useState } from "react";
const NavBar = () => {
// sticky nav
const [stickyClass, setStickyClass] = useState("");
function stickNavbar() {
let windowHeight = window.scrollY;
setStickyClass("sticky-nav") ? windowHeight > 500 : setStickyClass("");
}
useEffect(() => {
window.addEventListener("scroll", stickNavbar);
}, []);
return (
<nav className="relative w-full p-4">
<div className={`flex w-full flex-row items-center justify-between ${stickyClass}`}>
navbar content goes here ....
<div/>
<nav/>
Run Code Online (Sandbox Code Playgroud)
我使用 tailwindcss 进行样式设置,因此没有外部样式表,但是该类sticky-nav应用了 tailwindcss 的一些实用程序类。
组件.css
/* Navbar */
.sticky-nav {
@apply …Run Code Online (Sandbox Code Playgroud)