问题描述
目前再开发一个功能模块,与segmentfault文章目录类似,用户浏览滚动文章时,右侧目录也会实时滚动关联(这部分主要绑定滚动事件并监控文章目录的高度实时响应,已经完成)。目前出现一个问题,如果文章目录非常长的话,滚动目录的同时,右侧目录依然会实时响应,但是会被隐藏(目录设置了固定高度,超过则会隐藏)那么我该如何响应右侧目录滚动条??
目前再开发一个功能模块,与segmentfault文章目录类似,用户浏览滚动文章时,右侧目录也会实时滚动关联(这部分主要绑定滚动事件并监控文章目录的高度实时响应,已经完成)。目前出现一个问题,如果文章目录非常长的话,滚动目录的同时,右侧目录依然会实时响应,但是会被隐藏(目录设置了固定高度,超过则会隐藏)那么我该如何响应右侧目录滚动条??
目前发现了一个现象,目录顶层存在一个div包裹器,该包裹器使用监听器实时监听目录高亮区域并一直显示在滚动Y轴可视区域,这时候我们可以猜测,可能是先获取了目录的所有li高度总和,并获取可视区域高度,俩者监听对比,实时映射在顶层div上,如果目录高亮区域未显示在可视区域,那么目录滚动条适当移动scrollTo(移动li.heightn)div同时对应li的height n
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
监听滚动事件就好了,目录里会记录标题的锚点,滚动到相应锚点(规则比较随意,比如检测锚点位置距离窗口顶端的距离比其它锚点都近)则让对应目录处于active即可。