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

Ajax请求触发后页面自动滚动至顶部的解决方法咨询

解决Ajax加载数据后页面自动滚动到顶部的问题

常见原因及解决方案

1. 阻止按钮的默认点击行为

如果你的按钮是<a>标签(比如带href="#")或者表单内的submit类型按钮,点击时会触发浏览器默认行为(跳转或表单提交),导致页面滚动到顶部。只需在点击事件中阻止默认行为即可:

$("#number").on("click", function(event) {
  // 阻止浏览器默认点击行为
  event.preventDefault();
  
  $.ajax({
    url: 'list.php',
    method: 'POST',
    data: {
      number: '{$ID}'
    },
    success: function(data) {
      console.log(data);
      $("#page_details").html(data);
    }
  });
});

2. 保存并恢复滚动位置

如果替换#page_details内容后,页面高度发生大幅变化(比如原内容很长,新内容很短),也会导致页面滚动位置改变。这种情况需要先记录点击时的滚动位置,数据加载完成后恢复:

$("#number").on("click", function(event) {
  event.preventDefault();
  
  // 记录当前窗口滚动位置
  const currentScrollPos = $(window).scrollTop();
  
  $.ajax({
    url: 'list.php',
    method: 'POST',
    data: {
      number: '{$ID}'
    },
    success: function(data) {
      console.log(data);
      $("#page_details").html(data);
      // 恢复之前的滚动位置
      $(window).scrollTop(currentScrollPos);
    }
  });
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:10:47