博客搭建之路: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 小时前
“《关于我妈说我又老又丑又穷已经没有女生会看得上我了这件事情》”
程序员
CodeSheep10 小时前
稚晖君公司人事大变动,来了!
前端·后端·程序员
潘高19 小时前
做一个鸿蒙倒班应用时,我踩过的 4 个“看起来很简单”坑
程序员
程序员cxuan21 小时前
Pi + DeepSeek-v4-Flash,这用着也太爽了。
人工智能·后端·程序员
程序员cxuan21 小时前
Claude Opus 5 的系统提示词被扒出来了
人工智能·后端·程序员
AskHarries1 天前
为什么产品没人用
程序员
Patrick_Wilson2 天前
代码重构中的蚕食方式是什么
程序员·架构·代码规范
Patrick_Wilson2 天前
你知道 git check 的故事吗
git·程序员·命令行
SemiTris2 天前
为什么 C/C++ 不走 Java 式的虚拟机跨平台路线?
java·程序员
亚雷2 天前
图解分布式架构:一个 Console,一群 Sidecar
后端·面试·程序员