0

我正在尝试在刷新时重置浏览器滚动位置,显然它对现代浏览器不起作用或不可能,我错了吗?

编码:

$(window).on('beforeunload', function() {
$('html, body').scrollTop($('#scroll-to-div-id-anchor').offset().top); });

也许我处理不正确,还有另一种方法可以实现吗?

我尝试了此代码的所有变体和可能的选项,但它在 Safari 和 Chrome 上不起作用(无论是在桌面上,尤其是在移动设备上)。

4

1 回答 1

0

如果您希望页面在重新加载时移动到某个元素,则预期的行为是在页面加载后将页面移动到该点。如果您在加载页面之前尝试移动页面,您将不知道必须滚动到哪里,并且如果您尝试在卸载时移动它,则不能保证在重新加载后该点会被保存。

您可能可以在卸载时将滚动位置保存到localStorage并尝试加载位置 onload,但在这种情况下,我建议只移动页面 onload。

$(document).ready(function() {
  $('html, body').scrollTop($('#scroll-to-div-id-anchor').offset().top);
});

于 2018-08-28T20:37:51.737 回答