一篇文章生成了目录,当用户在浏览的时候,浏览到某个 h2 的时候,目录里对应的 h2 样式自动高亮,一般的做法是给这个 h2 加个 active
或 current
class,比如,
这种该如何实现呢?
我刚入前端,对 jq 和 js 还不太熟悉,网上找了一下也没找到,希望有大兄弟指点一下,谢谢。
一篇文章生成了目录,当用户在浏览的时候,浏览到某个 h2 的时候,目录里对应的 h2 样式自动高亮,一般的做法是给这个 h2 加个 active
或 current
class,比如,
这种该如何实现呢?
我刚入前端,对 jq 和 js 还不太熟悉,网上找了一下也没找到,希望有大兄弟指点一下,谢谢。
var object = document.getElementsByClassName('要设置样式的元素')[0]
_object_.addEventListener("mouseenter",_myScript_);
function _myScript_(el){
el.classList.add('要增加的类名')
}
1.尝试使用 IntersectionObserver
API来监控对应DOM原始是否出现在viewport中,按出现的比例来动态设置相关元素的class,jq
中有便捷的方法来添加或删除class
2.可通过监听scroll
滚动事件来检查DOM元素的滚动,需要添加节流和防抖动函数,提供页面响应速度
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答4.8k 阅读✓ 已解决
5 回答2k 阅读
3 回答2.3k 阅读✓ 已解决
HashChangeEvent
监听该事件