我有一个令人沮丧的简单问题,我无法解决。我可以链接到15个不同的stackoverflow问题,回答相同的事情。我已经回顾了答案,但我仍然无法弄清楚为什么这在我的情况下不起作用。请参见下面的代码缩短:停止从上升到顶部锚点
的Javascript:
function menu(link) {
if (link == "link1") {
location.href = "http://example.com/index.php?menu=referrals";
}
else if (link == "link2") {
location.href = "http://example.com/index.php?menu=internet";
}
else if (link == "link3") {
location.href = "http://example.com/index.php?menu=phone";
}
}
的index.php:
<a href="#void" id="link1" onclick="menu(this.id);">
<div class="<?php echo $menubox1; ?>" id="<?php echo $box1; ?>">
<div class="title">Referrals</div>
</div>
</a>
<a href="#void" id="link2" onclick="menu(this.id);">
<div class="<?php echo $menubox2; ?>" id="<?php echo $box2; ?>">
<div class="title">Internet</div>
</div>
</a>
<a href="#void" id="link3" onclick="menu(this.id);">
<div class="<?php echo $menubox3; ?>" id="<?php echo $box3; ?>">
<div class="title">Phone</div>
</div>
</a>
<div class="frame2">
Link Content, height is a tall fixed height.
</div>
放在location.href代码工作得很好。但是,页面跳转到顶部,似乎忽略了返回错误。我在这里回顾的所有答案都让我认为我的代码应该可以正常工作。我在这里错过了什么?非常感激。
编辑:我已经更新了基于迄今为止给出的答案的代码。
所以我试了这些。 javascript:void(0)和#void。既然你说过后一种情况是可取的,那么当我这样做的时候,网址最后会在#void处简单追加,然后加载新页面并再次跳转到页面的顶部。我已经修复了框架的高度(一个div,其中包含所有随链接而变化的内容,并且它位于菜单代码下面)div,以便它不会改变以确保它不是它(它会改变身高基于我原来的代码中的链接)。仍然试图通过解决方案来解决这个问题,并且很困惑,为什么它在我的情况下不起作用。 –
@ user1935137因为使用'href =“#void”'或'href =“javascript:void(0);''应该阻止跳转,所以请你分享链接这是我使用了十年的东西:)所以我相信还有其他的东西导致这个问题。你也可以使用'href =“#self”',在HTML页面中任何不被用作片段的东西。 – hex494D49
链接是否有效? –