单击链接,将我带到页面底部,而不是我调用它的位置

时间:2011-03-30 21:49:43

标签: javascript html anchor

只要点击下面的“隐藏”链接,我的页面就会显示在底部。我怎样才能到达它开放的地方?

我的代码:

<li><a href="javascript:ReverseDisplay('basic2')">How do I maximize battery life?</a></li>

<div id="basic2" style="display:none; background-color:#fff; padding:5px; margin-left: 11px;">
    <p>Wadfasfsafasfas</p>
    <a href="#" onclick="ReverseDisplay('basic2');">Hide</a></li>
    <div id="basic2" style="display:none; background-color:#fff; padding:5px; margin-left: 11px;">
    </div>
    <p>&nbsp;</p>
    <hr />
</div>

功能:

function ReverseDisplay(d) {
    if(document.getElementById(d).style.display == "none")
    {
        document.getElementById(d).style.display = "block";
    }
    else
    {
        document.getElementById(d).style.display = "none";
    }
}

2 个答案:

答案 0 :(得分:1)

每当您在链接中使用onClick时(例如onclick="ReverseDisplay('basic2');",您要确保它返回false

这样的事情应该有效:onclick="ReverseDisplay('basic2');return false;"

答案 1 :(得分:1)

你有重复的元素ID“basic2”

修改 我认为你要找的是这样的。 “隐藏”切换父元素的位置:

<li><a href="javascript:ReverseDisplay('basic1')">How do I maximize battery life?</a></li>
<div id="basic1" style="display:none; background-color:#fff; padding:5px; margin-left: 11px;">
    <p>Wadfasfsafasfas</p>
    <a href="#" onclick="ReverseDisplay('basic1');">Hide</a></li>
    <p>&nbsp;</p>
    <hr />
</div>
<script>
function ReverseDisplay(d) {
if(document.getElementById(d).style.display == "none") { document.getElementById(d).style.display = "block"; }
else { document.getElementById(d).style.display = "none"; }
}
</script>