0

我使用此代码,它可以工作,但只能工作一次。怎么会?

<script type="text/javascript">
function goToAnchor(name){
window.location.hash = name;}
</script>


<li onclick="goToAnchor('topp');"><a href="test.html" target="iframetest">Tst</a></li>
4

2 回答 2

1

你需要javascript吗?

<li><a href="test.html#topp" target="iframetest">Tst</a><li>
于 2012-10-04T11:19:06.647 回答
0

第一次调用它时,它会发生变化window.location.hash并导致浏览器滚动到您指定的 ID 或锚点。第二次,window.location.hash已经设置为(或您第一次topp传递的任何内容)并且由于尚未更改浏览器不会更改滚动位置。goToAnchorhash

有多种方法可以解决此问题:

  1. 不要使用 JavaScript。只需使用这样的链接:<a href='#topp'>Topp</a>
  2. 使用该scrollIntoView功能滚动到您要定位的元素:

    document.getElementById('topp').scrollIntoView();
    
于 2012-10-05T11:36:27.087 回答