html页面刷新回到顶部_页面刷新后,使页面自动滚回到顶部

比如有一个页面,滚动条在body上,当页面滚动到下方时,如何在刷新后使页面滚动回初始位置?

已尝试但是失效的方案:

$(“body”).scrollTop(0);

window.scrollTo(0,0);

document.body.scrollTop=0;

除了页面跳转,还有什么方法才能让页面刷新后复位到初始位置?

上一个示例代码

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>刷新页面滚动条复位</title>

<style>

*{margin: 0;padding:0;}

html,body{height: 100%;}

.box{

width: 50px;

height: 3000px;

margin: 0 auto;

background-color: red;

}

</style>

</head>

<body>

<p>000000====---- top -----====0000000</p>

<div class="box"></div>

<script>

window.οnlοad=function(){

if(document.body.scrollTop>0){

console.log(1);

window.scrollTo(0,-1);

document.body.scrollTop=0;

}

window.scrollTo(0,-1);

document.body.scrollTop=0;

}

</script>

</body>

</html>

LZ可以尝试下加个延时再滚动到顶部。比如:

setTimeout(() => window.scrollTo(0,0), 150)

亲测有效:https://clarencep.github.io/f…

onload的时候检测document.body的 scrolltop。大于一个值你就归零咯。

浏览器不是自动这功能吗?

监听刷新事件,onload之后再window.scrollTo(0,0);

最上面设个空锚点,每次初始化滚到这个锚点。

你需要找到出现滚动条的元素,再设置。

很多时候,布局会屏蔽body,或者html的滚动条。

比如

<body>

<div class='warp'>

<header></header>

<main></main>

<footer></footer>

</div>

</body>

// css

body{ overflow: hidden }

.warp{ overflow-x:hidden;overflow-y: scroll }

这种布局,我们设置了warp有滚动条,而body 没滚动条。 那么 重置滚动条,当然不能重置 body..

如果你的页面内容是动态生成的话,刷新之后应该是自动就回到顶部的,如果是静态内容的话,可能就是还留在之前的位置。那就等页面加载完成之后再处理回滚到顶端。如果不行的话那就需要再次确认一下滚动条到底是在哪个容器下面了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值