如何从网址中删除相同的页面超链接名称?

时间:2015-07-16 10:14:17

标签: javascript html

我的网页很长,所以在标题中我已将按钮链接到我页面的不同部分。但是当我点击它们时,它会从例如www.helloworld.com变为www.helloworld.com/#part1。如何删除此" part1"?我知道如何删除.html .php,但我不知道如何删除它。

<li><a href="#part1" class="current"><strong>Story</strong></a></li>

这是按钮,它链接到

<div id="part1"></div>

感谢。

1 个答案:

答案 0 :(得分:0)

好吧,如果你想让它顺利滚动并删除链接,请按照页面进行操作,只能使用JavaScript。将return false添加到锚点的onclick事件中或提供备用机制:

<li><a href="#part1" class="current" onclick="return false;"><strong>Story</strong></a></li>

上述代码不会将#part1添加到网址,但也不允许您导航到<div>。所以,你需要这样做:

<li><a href="#part1" class="current" onclick="window.scrollTo(0, document.getElementById('part1').offsetTop); return false;"><strong>Story</strong></a></li>

return false;会使链接无法添加额外部分。 window.scrollTo将页面导航到正确的位置。

要使所有内部链接具有可扩展性,对于支持document.queryStringAll的相对较新的浏览器,请执行以下操作:

document.queryStringAll('a[href^="#"]').onclick = function (e) {
  e.preventDefault();
  window.scrollTo(0, document.getElementById(this.attribute("href").substr(1)).offsetTop);
  return false;
}