Vue2 - 详细实现解析富文本内容生成侧边栏Toc目录索引,识别富文本内容根据标题h1~h6自动生成文章目录,点击目录导航时跳转到文章内容对应的锚点位置带过渡动画,鼠标滚动内容滑过锚点时高亮对应标题

178 篇文章 1241 订阅 ¥9.90 ¥99.00

前言

如果您需要 Vue3 版本,请访问 这篇文章。

在 vue2 | nuxt2 项目开发中,详解实现 “解析识别富文本内容,并在侧边栏动态生成文章目录”,对富文本内的h1~h6标题进行读取分析(可自定义要读取的标签,支持多级标题嵌套渲染),然后在指定位置生成渲染富文本对应的文章锚点目录TOC,点击目录导航菜单时会跳转到文章内容对应的标题锚点位置并且有过渡跳转动画,另外用户浏览富文本滚动经过标题锚点时右侧目录会自动高亮选中效果,您可以自定义目录排版样式、内容渲染样式等灵活度非常高,适用于文章网站、博客平台、富文本内容等,提供详细示例源码。

提供详细示例代码及教程,新手小白复制运行简单修改即可。


如下图所示,传入富文本内容自动解析并生成目录,强大可靠无BUG。

详细示例代码及注释,保证新手小白100%搞定。

在这里插入图片描述

示例代码

具体实现代码如下,请直接复制运行测试即可。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue 使用 Markdown 渲染文档,如果文档内容比较长,我们需要为用户提供侧边栏目录导航,方便用户快速定位到所需部分。下面是一个简单的方法实现自动生成 Markdown 文档的侧边栏目录。 首先,我们需要安装 `markdown-it` 和 `markdown-it-toc`: ```bash npm install markdown-it markdown-it-toc --save ``` 然后,在 Vue 组件引入并使用它们: ```javascript <template> <div> <!-- 目录导航 --> <div v-html="toc"></div> <!-- Markdown 内容 --> <div v-html="html"></div> </div> </template> <script> import MarkdownIt from 'markdown-it' import MarkdownItToc from 'markdown-it-toc' export default { data() { return { markdown: '# 一级标题\n\n## 二级标题\n\n### 三级标题', toc: '', // 目录导航 html: '', // 渲染后的 HTML } }, mounted() { // 解析 Markdown 文档 const md = new MarkdownIt() md.use(MarkdownItToc, { tocFirstLevel: 1 }) const result = md.render(this.markdown) // 生成目录导航 this.toc = md.toc // 渲染 Markdown 内容 this.html = result }, } </script> ``` 在上面的代码,我们使用了 `markdown-it-toc` 插件来自动生成目录导航,并将导航内容存储在 `toc` 变量。然后,我们使用 `v-html` 指令将导航和 Markdown 文档内容渲染到页面上。 注意,`markdown-it-toc` 插件需要在解析 Markdown 文档之前使用 `md.use(MarkdownItToc)` 方法来注册。在注册,我们可以设置 `tocFirstLevel` 属性来指定目录导航的起始层级,默认为 `1`。 最后,我们需要使用 CSS 样式来美化目录导航和 Markdown 内容,以便更好地展示给用户。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王佳斌

请作者喝杯咖啡 :)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值