MediaWiki:Common.js
来自部落与弯刀Wiki
Skyswordkill(讨论 | 贡献)2025年6月10日 (二) 18:25的版本
注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Internet Explorer:按住Ctrl的同时单击刷新,或按Ctrl-F5
- Opera:前往菜单 → 设置(Mac为Opera → Preferences),然后隐私和安全 → 清除浏览数据 → 缓存的图片和文件。
/* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */
document.addEventListener("DOMContentLoaded", function () {
const tocLinks = Array.from(document.querySelectorAll("#toc a"));
const sections = tocLinks.map(link => {
const id = decodeURIComponent(link.getAttribute("href").slice(1));
const el = document.getElementById(id);
if (el) {
return { link: link, target: el };
}
return null;
}).filter(Boolean);
function updateHighlight() {
const scrollPosition = window.scrollY + 120;
let current = null;
for (const section of sections) {
if (section.target.offsetTop <= scrollPosition) {
current = section;
} else {
break;
}
}
// 清除所有高亮
tocLinks.forEach(link => link.classList.remove("active-section"));
// 添加当前高亮
if (current) {
current.link.classList.add("active-section");
}
}
// 首次触发 + 滚动触发
updateHighlight();
window.addEventListener("scroll", updateHighlight);
});