layui侧边导航栏自动定位
时间: 2023-09-21 10:06:58 浏览: 131
可以通过监听滚动事件,获取当前滚动的位置,然后根据当前位置计算出应该高亮显示的导航栏项。
具体实现方法如下:
1. 给每个导航栏项添加一个 ID,例如第一项的 ID 为 "nav1",第二项的 ID 为 "nav2",以此类推。
2. 监听页面滚动事件,获取当前滚动的位置:
```
window.addEventListener('scroll', function () {
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
// scrollTop 就是当前滚动的位置
});
```
3. 根据当前滚动的位置计算出应该高亮显示的导航栏项:
```
var nav1 = document.getElementById('nav1');
var nav2 = document.getElementById('nav2');
// ...
if (scrollTop >= nav1.offsetTop && scrollTop < nav2.offsetTop) {
// 高亮显示导航栏第一项
nav1.classList.add('active');
nav2.classList.remove('active');
// ...
} else if (scrollTop >= nav2.offsetTop && scrollTop < nav3.offsetTop) {
// 高亮显示导航栏第二项
nav1.classList.remove('active');
nav2.classList.add('active');
// ...
} else {
// 其他情况,不高亮显示任何导航栏项
nav1.classList.remove('active');
nav2.classList.remove('active');
// ...
}
```
4. 最后,给高亮显示的导航栏项添加一个样式,例如:
```
.active {
background-color: #f00;
color: #fff;
}
```
这样就可以实现侧边导航栏的自动定位了。
阅读全文