刷新网页后重写url,去掉锚点链接。

beace
  • 100

图片描述

当我刷新此页面时,锚点还是指向panel2。此时利用CSS3
:target伪类实现的锚点链接还在url上,这样的话点击一次之后,无论怎么刷新页面当前列表一直是打开的,而且如果有动画效果就会自动显示动画效果。

请问怎么实现刷新页面去掉锚点链接。

回复
阅读 9.9k
3 个回答
✓ 已被采纳

奇葩的需求

正常的需求:要不就是点击tab的时候,不会改变上面的url;要不就是你现在的这种效果。

如果必须按照你现在的奇葩需求来做的话:
先确定你的需求要不要把url的hash去掉,如果去掉的话,要在dom渲染之前完成去掉hash,不在之前去掉的话会有抖动。
如果不去掉的话,tab被点击的时候增加class clicked,写选择器的时候就是 .clicked:target,这样可以保证刷新进入页面不会被.clicked:target选中。

在页面加载的事件中用js中作判断
如果当前url后有锚点,则重定向到index.html

在路由前执行

if (window.locaiton.hash !== "") {
    window.location.hash = "";
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏