实现页面滑动到哪块导航栏高亮可以通过以下步骤:

  1. 监听窗口滚动事件,当用户滚动页面时触发。
window.addEventListener('scroll', function() {
  // 在这里处理页面滚动事件
});
  1. 获取当前滚动位置。可以使用window.pageYOffset或document.documentElement.scrollTop来获取当前滚动的垂直距离。
var scrollPosition = window.pageYOffset || document.documentElement.scrollTop;
  1. 遍历导航栏中的每个链接,获取对应的目标元素位置,并判断当前滚动位置是否在目标元素的范围内。
var navLinks = document.querySelectorAll('.nav-link');
navLinks.forEach(function(link) {
  var target = document.querySelector(link.getAttribute('href'));
  var targetTop = target.offsetTop;
  var targetBottom = targetTop + target.offsetHeight;
  
  if (scrollPosition >= targetTop && scrollPosition < targetBottom) {
    // 当前滚动位置在目标元素范围内,高亮导航栏链接
    link.classList.add('active');
  } else {
    // 当前滚动位置不在目标元素范围内,取消高亮导航栏链接
    link.classList.remove('active');
  }
});
  1. 在CSS中定义高亮样式.active,以突出显示当前导航栏链接。
.active {
  color: red;
  /* or any other styles */
}

这样,当用户滚动页面时,根据滚动位置的变化,对应的导航栏链接就会被高亮显示。

页面滑动导航栏高亮实现方法 | JavaScript 代码示例

原文地址: https://www.cveoy.top/t/topic/qkzg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录