这里主要是实现了一个简单的滚动触发锚点高亮,以及点击锚点触发滚动的功能 如果是获取浏览器的滚动高度,各个浏览器有所差异,使用以下几种方式: Chrome:document.body.scrollTop Firefox:document.documentElement.scrollTop Safari:window.pageYOffse
这里主要是实现了一个简单的滚动触发锚点高亮,以及点击锚点触发滚动的功能
Chrome: document.body.scrollTop 我这里是局部元素滚动,因此稍有差异。先附上html及css代码块: scroll-content为滚动区域, operation-btn为控制锚点行为的按钮。
通过监听滚动事件,高亮显示锚点按钮 这里是通过遍历滚动项,判断滚动条滚动距离是否大于当前项的可滚动距离(即距离其offsetParent顶部的距离,这里是body)
添加点击事件,根据锚点滚动至对应区域并实现平滑滚动
这里参考网上的方法,将滚动距离细分为多个小段,并考虑向上及向下的的滚动,实现滚动的过渡动画。
此处附上效果图:
|
2021-06-04
2019-01-10
2019-02-17
2021-09-12
2021-09-30