有没有办法用JavaScript/jQuery控制浏览器滚动?

当我将页面向下滚动到一半,然后触发重新加载时,我希望页面进入顶部,但它会try 找到最后一个滚动位置.所以我做了这个:

$('document').ready(function() {
   $(window).scrollTop(0);
});

但是没有运气.

EDIT:

所以当我在页面加载后给他们打电话时,你的两个答案都起作用了.谢谢.然而,如果我只是刷新页面,看起来浏览器会在.ready事件后计算并滚动到原来的滚动位置(我也测试了body onload()函数).

那么接下来的问题是,有没有办法防止浏览器滚动到其过go 的位置,或者在完成任务后重新滚动到顶部?

推荐答案

哇,这个问题我迟到了9年.干得好:

将此代码添加到您的onload中.

// This prevents the page from scrolling down to where it was previously.
if ('scrollRestoration' in history) {
    history.scrollRestoration = 'manual';
}
// This is needed if the user scrolls down during page load and you want to make sure the page is scrolled to the top once it's fully loaded. This has Cross-browser support.
window.scrollTo(0,0);

要在window load上运行它,只需像这样包装它(假设有JQuery个引用)

$(function() {
  // put the code here
});

history.scrollRestoration Browser support:

Chrome:受支持(自46年起)

Firefox:受支持(自46年起)

边缘:支持(自79年起)

IE:100

Opera:支持(自33年起)

Safari:支持

对于IE,如果你想在自动向下滚动后重新滚动到顶部,那么这对我来说很有用:

var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
if(isIE11) {
    setTimeout(function(){ window.scrollTo(0, 0); }, 300);  // adjust time according to your page. The better solution would be to possibly tie into some event and trigger once the autoscrolling goes to the top.
} 

Html相关问答推荐

css网格区域的布局不展开,也不显示滚动条

Xpath:提取标签之间的文本,但一旦出现嵌入标签就停止

如何从ThymeLeaf模板中分离CSS

我无法使用背景图像css,因为我在VS代码中将照片放在不同的文件夹中

如何使用CSS在<;表格中<;SVG&>?

在Vue 3中使用v-Bind将计算(computed)属性传递给css url()

元素在向x提供溢出时被隐藏

Swift 以编程方式在 YouTube 嵌入视频中进入全屏

并排放置两个 div,同时 div2 环绕 div1

为什么 Flexbox 中相邻元素上的 flex:1 会影响另一个元素的固定宽度?

对齐页面左侧的单选按钮

透明渐变凹矩形

子 div 在父 div 中溢出

那边界从何而来?

使用 sprite 的问题,字符 sprite 中的额外边距

我如何让这个动画播放,然后停止,然后在设定的时间后再次播放? (CSS)

使用 CSS 样式化进度条

为什么 `html` 上的 overflow: hidden 将滚动框移动到正文?

在 Vue 3 中使用 JavaScript 数组显示 FontAwesome 图标

调整窗口大小时试图阻止按钮移动