首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我可以在没有网页滚动的情况下更新window.location.hash吗?

当然可以。在不触发网页滚动的情况下,您可以使用 JavaScript 的 window.history.pushState() 方法来更新 window.location.hash

以下是一个示例代码:

代码语言:javascript
复制
function updateHashWithoutScrolling(newHash) {
  // 保存当前滚动位置
  var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
  var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0;

  // 更新 hash
  window.location.hash = newHash;

  // 恢复滚动位置
  window.scrollTo(scrollLeft, scrollTop);
}

// 使用示例
updateHashWithoutScrolling('#new-hash');

这个方法首先保存当前页面的滚动位置,然后更新 window.location.hash,最后使用 window.scrollTo() 方法将页面滚动回原来的位置。这样就可以在不触发滚动的情况下更新 window.location.hash 了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券