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

页面完全加载后自动滚动到指定div的代码故障排查

解决页面完全加载后执行滚动动画的问题

你的问题出在修改后的代码语法错误上——$(window).load()方法只接受一个回调函数作为参数,你不能把延迟时间1300作为第二个参数传进去,这直接导致了滚动逻辑完全失效。

正确的实现方式

如果你想要页面所有资源(图片、样式表等)完全加载完成后,再延迟1300ms执行滚动动画,可以这样写:

$(window).on('load', function() {
  // 页面加载完成后,延迟1300ms执行滚动
  setTimeout(function() {
    $('html, body').animate({ 
      scrollTop: $('#myDiv').offset().top 
    }, 2800);
  }, 1300);
});

如果你的需求是页面加载完成后立即执行滚动,不需要额外延迟,那就去掉setTimeout:

$(window).on('load', function() {
  $('html, body').animate({ 
    scrollTop: $('#myDiv').offset().top 
  }, 2800);
});

补充说明

  • $(window).on('load', ...)会在页面所有资源(包括图片、字体等)加载完成后触发,这正是你需要的“页面完全加载”时机;而原来的$(function(){...})只是等待DOM结构加载完成,此时图片等资源可能还没加载完毕。
  • 如果你使用的是jQuery 3.0及以上版本,$(window).load()已经被官方废弃,推荐使用$(window).on('load', ...)来保证兼容性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:13:31