
当网页滚动到指定区域时触发特定事件: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: 执行特定操作,例如打印信息到控制台
}
});这两种实现原理相同,都在页面滚动时监听滚动条的位置,并在滚动条滚到指定区域时触发一次性事件。










