javascript - 页面后退按钮不重置css
问题描述
我有一个“导航”到新页面的按钮。
为此,该按钮使当前部分/页面的显示设置=无,新部分/页面的显示=块。
<div class="listLeft"><p class="listItems" onclick="navButtons('work')">work</p><p class="listItems" onclick="navButtons('about')">about</p></div>
<div class="listRight"><p class="listItems" onclick="navButtons('playground')">playground</p><p class="listItems" onclick="navButtons('contact')">contact</p></div>
下面的js
function navButtons(page) {
let section = document.getElementById(page);
section.setAttribute("class", "visible");
window.location.href = `#${page}page`;
window.scrollTo(0, document.body.scrollHeight);
let pagesArrayCopy = [...pagesArray]
const unselected = pagesArrayCopy.filter(item => item.id !== page);
setTimeout(() => {
unselected.forEach((el, index) => unselected[index].setAttribute("class", "invisible"));
pagesArray = Array.from(pagesNodeList);
}, 500);
};
当我按下后退按钮时,url显然变回了旧的#section,但css没有重置,所以新页面仍然可见,前一页仍然显示=无。
我该如何解决这个问题,所以当按下后退按钮时,css 值会重置为默认值?
解决方案
你还没有提供所有的html。没有 id 工作,所以部分为空
function navButtons(page) {
let section = document.getElementById(page);
console.log(section)
section.setAttribute("class", "visible");
window.location.href = `#${page}page`;
window.scrollTo(0, document.body.scrollHeight);
let pagesArrayCopy = [...pagesArray]
const unselected = pagesArrayCopy.filter(item => item.id !== page);
setTimeout(() => {
unselected.forEach((el, index) => unselected[index].setAttribute("class", "invisible"));
pagesArray = Array.from(pagesNodeList);
}, 500);
};
<div class="listLeft">
<p class="listItems" onclick="navButtons('work')">work</p>
<p class="listItems" onclick="navButtons('about')">about</p></div>
<div class="listRight">
<p class="listItems" onclick="navButtons('playground')">playground</p>
<p class="listItems" onclick="navButtons('contact')">contact</p></div>
推荐阅读
- python - How can I bind the enter key to a command while having a button do the same thing?
- java - Generate 8 digit OTP in java
- javascript - Base64 PDF 数据 IE 和 Edge 不显示
- python - ValueError:无法为具有形状“(?,784)”的张量“Placeholder:0”提供形状(1,10712)的值
- npm - npm install global vs local 安装不同的东西
- ios - Swift 执行顺序 ViewController UIKit
- javascript - 从 ReactJs 中的变量生成选择选项条目
- javascript - 如何修复加载本地 JSON 提取的错误?
- twitter-bootstrap - 如何将 bootstrap css 和 js 与我的 liferay 7.2 主题集成?
- javascript - 反应:setState() 钩子,未设置初始颜色