滚动到页面底部跳转新页如何加时间延迟?jQuery实现相关问题
实现滚动到底部延迟2秒跳转的代码
你可以直接使用下面修改后的代码,在原有逻辑基础上增加了延迟控制,同时避免重复触发跳转逻辑:
// 用于存储定时器ID,避免重复触发跳转 let jumpTimer = null; $(window).scroll(function() { const isReachBottom = $(window).scrollTop() + $(window).height() == $(document).height(); if (isReachBottom) { // 每次触发底部判断先清空已有定时器,防止多次触发 clearTimeout(jumpTimer); // 设置2秒延迟跳转,2000单位为毫秒,可自行调整时长 jumpTimer = setTimeout(function() { window.location.href = "page2.html"; }, 2000); } // 可选:如果滚动离开底部就取消跳转,去掉下面注释即可生效 // else { // clearTimeout(jumpTimer); // } });
逻辑说明
- 用变量存储定时器ID的原因是避免用户在底部反复滚动时触发多个跳转任务,导致延迟逻辑混乱
setTimeout的第二个参数是延迟毫秒数,2000对应2秒,需要调整延迟时长直接修改这个数值即可- 可选的else分支逻辑适合不需要用户停在底部就必须跳转的场景,只要用户向上滚动离开底部就会取消待执行的跳转任务,体验更友好
内容的提问来源于stack exchange,提问作者mvd
相关产品推荐
相关产品推荐

