Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我制作了一个手风琴菜单,就像这里解释的那样。问题是当您单击菜单项时,浏览器会尝试跳转(并滚动)到target以确保目标在视口中可见。除了这样的事情之外,有什么解决方案可以防止跳跃吗?
target
$("a[href^=#]").on("click", function(e) { e.preventDefault(); history.pushState({}, "", this.href); });
js源码:战斗跳跃
除了使用 JavaScript,别无他法。您还可以监听 hashchange 事件,在事件触发时保存实际的滚动位置,并在事件发生后跳回它。但这些是人们能想到的唯一可能的解决方案。