<script>
function CurHash(){
var id = parseInt(window.location.hash.replace("#", ""));
alert(id);
}
</script>
<!-- START URL: test.htm#1 -->
<a href='#1' onClick='CurHash()'>#1</a>
<a href='#2' onClick='CurHash()'>#2</a>
<a href='#3' onClick='CurHash()'>#3</a>
如果我们现在在test.htm#1上,点击链接#2,警报显示数字1,而不是2,并且在URL中的哈希值更改为2。当您下次单击3时,它将显示先前的2,依此类推。
对我来说存在问题,因为我使用哈希来滚动我的页面内容(由于架构问题无法使用锚点),并且在这种行为之后,单击滚动将仅在第二次单击时发生,这是完全错误的。
问题:如何更新哈希并获取更新(而不是以前的)值以供进一步使用,而无需在浏览器中重新加载页面(所有用于滚动的内容已经在页面上,从服务器重新加载它不是好的解决方案)。