思路:
1:本人是基于vue框架,在使用offsetTop的时候找不到body所以首先用递归找到body
2:找出每一块内容的距离顶部的距离存起来
3:调用浏览器滚动事件
4:在事件内循环元素距离顶部的数组{ if(,如果浏览器滚动的距离+100(这个100是自己根据情况而定的,我的一百是基于元素的顶部标题位置)>=每一块内容的距离顶部[0]){
this.indexx=index
}}
5:通过vue的底层元素 给导航绑定::class=‘indexx==index’?‘高亮样式’:‘’
整个思路就是这样,还望给你带来帮助,