如何设置滚动到顶部刷新/加载?(只支持AngularJs或Js,不支持Jquery)

How to set scroll to top on refresh/load? (AngularJs or Js only, no Jquery)

本文关键字:AngularJs 支持 Js 不支持 Jquery 设置 何设置 滚动 刷新 顶部 加载      更新时间:2023-09-26

这是我的问题,我正在搜索将滚动设置为加载页面的顶部,但目前Chrome, IE和Firefox将滚动位置重置为与上一页相同,那么我如何将滚动设置为顶部?

似乎scrollTo只是被那些web浏览器忽略了,我尝试了许多使用scrollTo(查找SO)的方法,但它们都不做任何事情…

需要帮助!谢谢大家!

好吧,如果它可以帮助你们中的一些人,这是我现在正在使用的(我刚刚发现它,就像30秒后发布的问题lmao…),它似乎工作:

window.onbeforeunload = function() {window.scrollTo(0,0);}
编辑:这可能是因为浏览器记住了最后一个滚动位置,所以在卸载之前将其设置为顶部使得,例如,chrome记住0,0而不是x,y

您可以尝试这样做:

<!DOCTYPE html>
<html>
<body onload="myFunction()">
<script>
function myFunction() {
    document.body.scrollTop = document.documentElement.scrollTop = 0;
}
</script>
</body>
</html>

希望有帮助

这是我们的香草javascript实现。它有一个简单的舒缓效果,这样用户就不会在点击到顶部按钮后感到震惊。

非常小,缩小后会变得更小。开发人员寻找替代jquery方法,但想要相同的结果可以试试这个。

<button id="to-top">To Top</button>

JS

document.querySelector("#to-top").addEventListener("click", function(){
var toTopInterval = setInterval(function(){
    var supportedScrollTop = document.body.scrollTop > 0 ? document.body : document.documentElement;
    if (supportedScrollTop.scrollTop > 0) {
        supportedScrollTop.scrollTop = supportedScrollTop.scrollTop - 50;
    }
    if (supportedScrollTop.scrollTop < 1) {
        clearInterval(toTopInterval);
    }
}, 10);
 },false);

可以使用$ anchorScroll ()

,这里是它的文档angular-js: anchor-Scroll attribute