博客搭建之路:hexo使用next主题博客侧边栏标题点击不跳转

hexo使用next主题博客侧边栏标题点击不跳转

hexo版本5.0.2 npm版本6.14.7 next版本7.8.0

本着我肯定不是第一个出这个问题的人,去github上找了找,果然我不是第一个

好吧,也跟着改吧(修改themes/next/source/js/utils.js),找到registerSidebarTOC函数

ini 复制代码
registerSidebarTOC: function() {
    const navItems = document.querySelectorAll('.post-toc li');
    const sections = [...navItems].map(element => {
      var link = element.querySelector('a.nav-link');
      // 修复侧边栏 标题点击不跳转问题
      var target = document.getElementById(decodeURI(link.getAttribute('href')).replace('#', ''));
      // TOC item animation navigate.
      link.addEventListener('click', event => {
        event.preventDefault();
        //var target = document.getElementById(event.currentTarget.getAttribute('href').replace('#', ''));
        var offset = target.getBoundingClientRect().top + window.scrollY;
        window.anime({
          targets  : document.scrollingElement,
          duration : 500,
          easing   : 'linear',
          scrollTop: offset + 10
        });
      });
      //return document.getElementById(link.getAttribute('href').replace('#', ''));
      return target;
    });

参考文献

相关推荐
后端小肥肠1 小时前
从程序员到一人公司创业者:这一年半我经历了什么
程序员·创业
Sam_Deep_Thinking8 小时前
如何理解java的信号量
java·后端·面试·程序员
SimonKing10 小时前
Stream-Nexus:我的轻量级推送中间件(sse、websocket)终于定下来了
java·后端·程序员
阿里嘎多学长1 天前
2026-09-28 GitHub 热点项目精选
开发语言·程序员·github·代码托管
kyriewen1 天前
我实测了前端日期的 5 个坑:差 8 小时只是开始
前端·javascript·程序员
多喝水身体棒1 天前
Spring Boot 自动配置原理,看完终于不慌了
面试·程序员
Ysx1 天前
踩了 5 次"本地全绿、生产失效"之后,我把交付流程做成了 SOP
后端·程序员
程序员cxuan1 天前
DeepSeek Harness 出了桌面端?我把它扒了一遍
人工智能·后端·程序员
Hilaku1 天前
为什么前端应该主动去学数据库?
前端·javascript·程序员