全站通知:
Widget:AddHoverTOC
刷
历
编
跳到导航
跳到搜索
准备浮动目录
这段JS将创建一个div.hovertoc元素,包裹#toc。让common.css中的浮动目录CSS生效。
如果检测到页面中没有目录,或者有 id = nohovertoc 的元素,就不会执行(支持在特定页面禁用浮动目录)。
源码:
<script>
function addHoverToc() {
let toc = document.getElementById("toc");
// 如果 #toc 不存在或页面中有 #nohovertoc,则退出函数
if (!toc || document.getElementById('nohovertoc')) {
return;
}
// 如果toc的父元素有.hovertoc,则退出函数
if (toc.parentElement.classList.contains('hovertoc')) {
return;
}
// 创建一个新的div元素,用于存放浮动目录
let hovertoc = document.createElement('div');
hovertoc.classList.add('hovertoc');
toc.parentElement.appendChild(hovertoc).appendChild(toc);
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', addHoverToc);
} else {
addHoverToc();
}
</script>