Tools 是非官方社区Wiki。社区文档正在编写中,欢迎参与。 Wiki编辑答疑群:717421103
版本250722.2
全站通知:

Widget:AddHoverTOC

来自WIKI实验室WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

准备浮动目录

这段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>