0

ここで見つけた Java Script Show/Hide DIV Toggler を使用しています。機能しますが、トグルをクリックするたびにページの上部に移動するという副作用があります。FF と Chrome で確認しましたが、どちらのブラウザでも同じです。ページが再起動されているかどうかはわかりませんが、再読み込みされていないことはわかっています。

スクリプトは次のとおりです。

<script type="text/javascript">
<!--
    function toggle_visibility(id) {
       var e = document.getElementById(id);
       if(e.style.display == 'block')
          e.style.display = 'none';
       else
          e.style.display = 'block';
    }
//-->
</script>

これがトグルです (href="#" に注意してください - それが問題ですか?):

<a href="#" onclick="toggle_visibility('gallery_info');">[Click to see more details]</a>

そして、これは表示/非表示になっている div です (非表示になっていることがわかります)。

<div id="gallery_info" style="display: none;">

何か案は?

どうもありがとう!アレックス

4

3 に答える 3

1

javascriptを使用する:#の代わりにhrefとして

<a href="javascript:" onclick="toggle_visibility('gallery_info');">[Click to see more details]</a>
于 2012-07-02T04:57:12.100 に答える
1

これは機能に関係なくa、ページの上部にジャンプするタグです。タグのデフォルト アクションを防止するために、event.preventDefault()または機能内で使用できます。return falsea

于 2012-07-02T04:27:47.693 に答える
0

e.preventDefault()リンクをクリックするデフォルトの動作を停止する関数を追加します。を指定href='#'すると、現在のページのトップへのリンクが示されます。これが、現在その動作が見られる理由です。jqueryを使用している場合はreturn false、代わりに関数からもできます。

上記の変数eは、onclick 関数の最初の引数として渡されるイベント オブジェクトであることに注意してください。

于 2012-07-02T04:27:48.363 に答える