网页滚动到指定区域触发事件:jQuery 和原生 JS 如何实现?

网页滚动到指定区域触发事件:jQuery 和原生 JS 如何实现?

当网页滚动到指定区域时触发特定事件:jquery 和原生 js 实现

需求描述:页面上的导航栏样式需要随着滚动条滚动到指定区域而发生变化,需要在滚动条滚动到某个特定位置时执行某个事件(如打印信息到控制台)。

jQuery 实现

// vh2px
const vh = Math.floor(window.innerHeight / 100);
var once = false;

$(window).on('scroll', function() {
  if (once) {
    return;
  }

  if (window.scrollY >= vh * 200) {
    once = true;
    // TODO: 执行特定操作,例如打印信息到控制台
  }
});

原生 JS 实现

// vh2px
const vh = Math.floor(window.innerHeight / 100);

window.addEventListener('scroll', function() {
  if (once) {
    return;
  }

  if (window.scrollY >= vh * 200) {
    once = true;
    // TODO: 执行特定操作,例如打印信息到控制台
  }
});

这两种实现原理相同,都在页面滚动时监听滚动条的位置,并在滚动条滚到指定区域时触发一次性事件。

以上就是网页滚动到指定区域触发事件:jQuery 和原生 JS 如何实现?的详细内容,更多请关注其它相关文章!