1

我有超过 20 个问题的常见问题解答页面。当我单击任何问题时,它会显示答案,当我再次单击问题时,它会隐藏答案。我使用了显示/隐藏部门的 javascript。

<script>
function showHideDiv(id){
var obj = document.getElementById(id);
if (obj.style.display=="none"){
  obj.style.display='block';
} else if(obj.style.display=="block"){
  obj.style.display='none';
}
}
</script>

这是html代码,

<h5><a href="#" onclick="showHideDiv('div-7')">Question No.7</a></h5>
    <div id="div-7" style="display:none;">Answer No.7</div><br>

    <h5><a href="#" onclick="showHideDiv('div-8')">Question No.8</a></h5>
    <div id="div-8" style="display:none;">Answer No.8</div><br>

现在的问题是,当我单击问题 1 到 5 时,它运行良好,但是当我向下滚动页面并单击问题编号时。7到22,由于href属性中的“#”,页面重新加载并滚动回顶部,而不是显示打开的答案。所以我希望页面不应该刷新,但应该停留在点击的任何问题上。

4

1 回答 1

5

你需要return false点击。

<h5><a href="#" onclick="showHideDiv('div-7'); return false;">Question No.7</a></h5>

或者

<h5><a href="#" onclick="return showHideDiv('div-7')">Question No.7</a></h5>

并且return falseshowHideDiv

于 2013-08-05T10:58:29.057 回答