javascript - Next.js 粘性导航栏问题在使用 Link 后不会出现
问题描述
使用 next.js,我遇到了关于我制作的粘性导航栏的问题。总而言之,它在网站的初始加载时正常工作,但是,当我使用栏上的链接并转到我的下一页时,导航栏会失败,除非我两次单击同一个链接。
该问题的截屏视频: https ://drive.google.com/file/d/1AIYXrjGP9_lAsQ32bhDzWPtTLQt-czTm/view
import React, { useState } from "react";
import Link from "next/link";
export default function Layout(props) {
async function myFunction() {
var contentBoxV =
contentBox.getBoundingClientRect().top +
document.documentElement.scrollTop +
(content.getBoundingClientRect().top +
document.documentElement.scrollTop) *
0.25;
var windowOffset =
content.getBoundingClientRect().top + document.documentElement.scrollTop;
console.log(contentBoxV);
console.log(windowOffset);
if (contentBoxV >= windowOffset + 15) {
navbar.classList.add("sticky");
} else {
navbar.classList.remove("sticky");
}
}
if (typeof window !== "undefined") {
var navbar = document.getElementById("navbar");
var content = document.getElementById("subNav");
var contentBox = document.getElementById("contentH");
}
return (
<>
<div
id="contentH"
className="container-xl contentDocument"
onScroll={() => myFunction()}
>
<div className="iceBorder"></div>
<div className="frostBack"></div>
<div id="paddingTop"></div>
<div id="subNav"></div>
<div id="navbar" className="container navMenu fixedIntro">
<div className="row linkContainer">
<Link href="/">
<div className="col navLink">Jeffrey Arriaga</div>
</Link>
<a
id="resumePDF"
className="col navLink"
href="/ArriagaJeffrey_Resume_noPhone_CS_Version.pdf"
target="_blank"
>
Resume
<img id="pdfMiniCon" src="/29587.png" alt="pdfFileImg" />
</a>
<div className="col navLink">Portfolio</div>
<Link href="/contact">
<div className="col navLink">Contact</div>
</Link>
</div>
</div>
{props.children}
<footer>
<p>Jeffrey Arriaga</p>
</footer>
</div>
</>
);
}
解决方案
推荐阅读
- griddb - 如何通过更新查询来获取受影响的行和列数据
- perl - 用 CGI 在 perl 中读取文件?
- c++ - 指针 (*) 如何在以下代码中进行更改?
- sql - 根据 WHERE 子句中的条件过滤
- jquery - jQuery Resizable : 每个元素的唯一 MinWidth
- python - 可以在一行中完成以下操作#python #dataframe
- python - 如何将 GitHub 提交的哈希码获取到 databricks 工作区?
- javascript - 获取上传中视频/音频的持续时间
- html - 如何在此标题和段落元素上添加边框?
- javascript - 在凸多边形路径内绘制文本