1

20以上の質問があるFAQページがあります。質問をクリックすると回答が表示され、もう一度質問をクリックすると回答が非表示になります。部門を表示/非表示にする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 false_showHideDiv

于 2013-08-05T10:58:29.057 に答える