function showside() {
var mc = document.getElementById("side");
var bool = mc.style.display == "block" || mc.style.display == "";
mc.style.display = bool? "none": "block";
}
</script>

解决方案 »

  1.   

    if(side.style.display=='block')
    {
    side.style.display='none';
    }
    else
    {
    side.style.display='block';
    }试试看这个呢
      

  2.   

    你必须给<div id="side">加个style="display:block"的属性才行,因为
    style.display是对这个属性的读取,放在#side中是不行的,他会认为
    style.display == "";Change like this------------>
    ------------------------------------------------------------------<style type="text/css">
    #side {
    background-color:#F00;
    position:relative;
    float:left;
    width:100px;
    height:100%;
    border:1px solid red;
    }
    #main {
    border:1px solid red;
    height:100%;
    }
    </style>
    <script type="text/javascript">
    function showside()
    {
    if(side.style.display=='block')
    {
    side.style.display='none';
    }
    else
    {
    side.style.display='block';
    }
    }
    </script>
    <div id="side" style="display:block;">sidebar</div>
    <div id="main"><a href="javascript:showside();" >aaaaaaaaa</a></div>
    ------------------------------------------------------------------------
      

  3.   

    因为
    side.style.display='';

    side.style.display='block'
    效果是一样的
      

  4.   

    这样改一下试试:<script type="text/javascript">
    function showside()
    {
    if(side.style.display!='block')
    {
    side.style.display='block';
    }
    else
    {
    side.style.display='';
    }
    }
    </script>