2

これは私が持っているコードです:

<?
    while ($row1 = mysql_fetch_object($result1)) {
       echo '<a href="#" onclick="showhide("'.$row1->id.'");">Name</a>';
       while ($row2 = mysql_fetch_object($result2)) {
          echo '<div id="'.$row1->id.'">';
          echo 'blabla';
          echo '</div>';
       }
    }
?>
    <script> 
    var state = 'none';
    function showhide(layer_ref){
    if(state == 'block'){
    state = 'none';
    }else{
    state = 'block';
    }
    if(document.all){ //IS IE 4 or 5 (or 6 beta)
    eval("document.all." +layer_ref+ ".style.display = state");
    }
    if (document.layers) { //IS NETSCAPE 4 or below
    document.layers[layer_ref].display = state;
    }
    if (document.getElementById &&!document.all) {
    hza = document.getElementById(layer_ref);
    hza.style.display = state;
    }
    }
    </script>

これは次のようなものを出力します:

Name
  blabla
Name
  blabla
...

ヘッド(名前)をクリックすると、コンテンツ(表示/非表示)を切り替える必要がありますが、そうではありません。私は何を間違っていますか?

4

1 に答える 1

3

これはあなたのために働くかもしれません:

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

ライブデモはこちら>>

于 2013-04-25T09:48:53.637 に答える