纯js实现文章导航目录

我们经常看到一些内容较多的文章都有一个目录导航,点击导航会跳转到响应的位置,页面滚动时相应位置的导航也会呈现选中状态非常的方便,这里使用js做一个简单的实现实现思路为文章中的标题标签h1、h2添加不同的id(举例只取h1、h2其他同理)正则获取文章内容中的h1、h2标签使用将获取到的标签转换成li、a标签,id转换为href属性将转换后的标签插入需要显示目录的位置编写监测页面滚动监听...
摘要由CSDN通过智能技术生成

我们经常看到一些内容较多的文章都有一个目录导航,点击导航会跳转到响应的位置,页面滚动时相应位置的导航也会呈现选中状态非常的方便,这里使用js做一个简单的实现

实现思路

  • 为文章中的标题标签h1、h2添加不同的id(举例只取h1、h2其他同理)
  • 正则获取文章内容中的h1、h2标签
  • 使用将获取到的标签转换成li、a标签,id转换为href属性
  • 将转换后的标签插入需要显示目录的位置
  • 编写监测页面滚动监听事件
  • 编写描点点击事件

为文章中的标题标签添加不同的id

需要保证页面中的id不重复,这里使用了循环赋值的方法

//遍历h1 h2重设id
let idList = 1;
$('.j-article-conn h1').each(function () {
   
	$(this).attr('id', idList);
	idList++;
});
$('.j-article-conn h2').each(function () {
   
	$(this).attr('id', idList);
	idList++;
});

正则获取文章内容中的标题标签

使用正则一行代码即可实现:

let a = $('.j-article-conn'
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值