博客搭建之路: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;
    });

参考文献

相关推荐
CodeSheep2 分钟前
hvv员工家属爆料:老公22年入职的,普通员工,老是被误以为高薪多奖金,实际上还没配股,暂时钱没存多少,我倒是很心疼他工作辛苦。
前端·后端·程序员
陈随易11 小时前
moon,apt和yum之外linux系统命令安装新选择
前端·后端·程序员
SamDeepThinking1 天前
如何维持缓存的一致性?
后端·面试·程序员
一枚懒人1 天前
OpenGL 视频渲染导论:从图形管线到视频处理全览
程序员·opengl
zzzzzz3101 天前
用 TRAE Work 拆解一次“老订单系统加退款状态机”的紧急方案
人工智能·程序员·workflow
Sam_Deep_Thinking2 天前
一个靠谱的C端网关服务应该包含什么内容
java·程序员·系统架构
KaneLogger2 天前
一套系统,让 AI 写代码的速度变成生产力
人工智能·程序员·代码规范
陈随易2 天前
MoonBit抓包模块pcap,查看电脑的每一次联网通信
前端·后端·程序员
BigTopOne3 天前
C++ 返回值,失效的问题;
程序员
程序员cxuan3 天前
DeepSeek-V4-Flash 正式版来了!这次提升有点夸张。
人工智能·后端·程序员