You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改location.href跳转到#锚点参数后如何执行指定代码?

监听浏览器原生的hashchange事件即可实现锚点变化后触发逻辑,该事件会在URL的哈希(#及后面的内容)发生变更时触发,不依赖页面重载。

你可以把要执行的逻辑封装为公共函数,同时绑定到页面加载和哈希变化两个场景,避免代码重复:

// 封装公共逻辑
function removeHeaderSticky() {
  // 若header变量不在当前作用域,可在这里重新获取:const header = document.querySelector('header')
  header.classList.remove("sticky");
}

// 页面首次加载时执行
window.onload = removeHeaderSticky;

// 锚点哈希变化时执行
window.onhashchange = removeHeaderSticky;

如果你的页面需要绑定多个同类型事件回调,推荐使用addEventListener方式绑定,避免覆盖已有的事件绑定:

window.addEventListener('load', removeHeaderSticky);
window.addEventListener('hashchange', removeHeaderSticky);

内容的提问来源于stack exchange,提问作者Munchkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 00:06:02