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

如何通过onscroll实现页面滚动到底部时的无缝跳转?

解决方案:滚动到底部立即跳转

完全可以通过onscroll实现无缝的立即跳转效果,你只需要移除代码里的setTimeout延迟,同时加个简单标记避免重复触发即可:

修改后的代码

<script>
  let hasScrolledToBottom = false; // 标记是否已触发跳转
  window.onscroll = function(ev) {
    // 判断是否滚动到底部,同时确保只触发一次跳转
    if ((window.innerHeight + window.pageYOffset) >= document.body.offsetHeight && !hasScrolledToBottom) {
      hasScrolledToBottom = true; // 标记已触发,防止重复执行
      window.location.href = "https://www.google.com"; // 立即跳转
    }
  };
</script>
<body>
  <h1>This is page 1</h1>
  <img src="https://picsum.photos/seed/picsum/1200/800">
</body>

关键说明

  • 移除setTimeout后,满足滚动到底部条件时会立即执行跳转,实现无缝过渡
  • 添加hasScrolledToBottom变量是因为滚动到底部时,onscroll事件可能连续触发多次,这个标记能确保跳转只执行一次,避免不必要的重复操作
  • 如果遇到判断不准确的情况(比如页面有特殊布局),可以把document.body.offsetHeight换成document.documentElement.offsetHeight,适配不同页面结构

内容的提问来源于stack exchange,提问作者Selorm Amuzu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 19:55:15