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 回答