如何在关注链接后从URL中删除哈希?

时间:2014-03-18 18:29:27

标签: jquery url hash

我正在寻找一种删除url.com/index.html#content的方法。所以我正在寻找一种方法来删除#content部分(使用jQuery?)。有没有办法实现 之后 我已经点击了链接?

1 个答案:

答案 0 :(得分:0)

无论如何,这是我找到的解决方案:

HTML标记:

<a href='#content' onclick="return anchorJump('content')">Skip to Content</a>

以下是JavaScript:

    function anchorJump( anchor )
{
  var targAnchor=null, anchorID=anchor.replace(/.*#([^\?]+).*/,'$1');   

  if( !(targAnchor=document.getElementById( anchorID )) )
   for(var i=0, found=false, da=document.anchors, len=da.length; i<len && !targAnchor; i++)
    targAnchor = (da[i].name==anchorID ? da[i] : null); 

  if(targAnchor)  
  {
   disp=getElemOffset(targAnchor);
   window.scrollTo(disp.x, disp.y);
  }
  else
   alert('Did not find anchor/element "'+anchorID+'"');

  function getElemOffset(elem)
  {
   var left = !!elem.offsetLeft ? elem.offsetLeft : 0;
   var top = !!elem.offsetTop ? elem.offsetTop : 0;

   while((elem = elem.offsetParent))
   { 
    left += !!elem.offsetLeft ? elem.offsetLeft : 0;
    top += !!elem.offsetTop ? elem.offsetTop : 0;
   }

   return {x:left, y:top};  
  }

 return false; 
}