You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整JavaScript脚本实现触底后延迟30秒加载新URL?

修复滚动触底延迟30秒跳转的问题

你的代码核心问题是延迟函数和滚动触底逻辑完全脱节:delayExecution是页面加载时就直接执行的,和滚动到底部的事件没有任何关联,所以滚动触底时会直接执行跳转,根本不会触发延迟逻辑。

下面是修复后的完整代码:

window.scrollTo(0, document.body.scrollHeight);

// 滚动触底后延迟跳转的函数
function loadNewUrlOnScroll() {
  // 检测是否滚动到页面底部
  if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
    // 立即移除滚动监听,避免重复触发延迟逻辑
    window.removeEventListener("scroll", loadNewUrlOnScroll);
    console.log("已滚动到底部,等待30秒后跳转...");
    // 延迟30秒执行跳转
    setTimeout(function() {
      window.location.href = "https://example.com/new-url";
    }, 30000); // 30000毫秒 = 30秒
  }
}

// 绑定滚动事件监听
window.addEventListener("scroll", loadNewUrlOnScroll);

关键修改说明:

  • 将延迟逻辑直接整合到滚动触底的判断分支内,确保只有触发触底条件时才启动延迟
  • 触底后立即移除滚动监听,避免用户在等待期间继续滚动导致多次触发延迟跳转
  • 保留控制台日志输出,方便你直观查看触发状态

内容的提问来源于stack exchange,提问作者Tiv Vine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 03:37:10