javascript – 激活URL锚点但不滚动到它?

我有一个页面,其中有两个标签,我希望能够使用Javascript进行切换,还可以在URL中设置锚点(例如page.html#tab1)以进行书签/链接.

默认情况下,选项卡内容位于两个div中,一个位于另一个下方,锚标记将滚动到正确的标记,并禁用JS.

启用JS后,将应用CSS类以使其充当选项卡.每个选项卡都链接到每个锚点,但是当您单击以切换选项卡时,页面会滚动到选项卡.如果我从onclick函数返回false,则URL不会更改为包含锚点.

如何将浏览器URL更改为page.html#tab1但不滚动到#tab1?

解决方法:

我已经玩了一段时间,因为我最初不相信你(我使用jQuery history plugin得到类似的行为).

而且我很难过.我认为你不能.作为一种解决方法,你可以做的是use javascript to set the hash to something DIFFERENT from what is actually on the page.然后在加载时使用javascript来读取哈希并填充正确的内容. I do this on my site.所以在这种情况下,没有javascript的用户会被滚动,带有javascript的用户会保留历史链,而只有当没有发送链接的人链接到(或反之亦然)时,它才会变得古怪.

上一篇:javascript – 如何使用jquery将特定类添加到锚标记的href等于URL?


下一篇:拦截在javascript中命名为锚