没问题。
 room.style.display= "block " 少个分号

解决方案 »

  1.   

    试过了
    不是分号的问题
    加上分号if...if的这段也是无法运行成功
      

  2.   

    你将每个if{}里放个alert()看看走到哪步停的?
      

  3.   


    function win_doInit(){ 
      var room = document.getElementById("win") 
      if (room.style.display=="block"){ 
        room.style.color= "#ffffff "; 
      }   if (room.style.display=="none"){ 
        room.style.display= "block";
        room.style.color= "#ffffff";  
      }       
    }
      

  4.   

      if (room.style.display=="none"){ 
        room.style.display= "block";
        room.style.color= "#ffffff";  
      }       
    }
    一样不行
    function win_doInit(){
        var room = document.getElementById("win")
        if(room.style.display=="block"){
        room.style.color="#ffffff";
    }
    else{
      if(room.style.display=="none"){
        room.style.display="block";
           }
       else{room.style.display="block";}
        }   
    }
    这样是可以运行的,一定要判断display的else
    我只要判断两个情况,其他情况我都不考虑
    难道不行?
      

  5.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <style type="text/css">
    .win{background: #F3F3F3; border:#0066FF 1px solid; overflow:hidden; position:absolute; width:500px; height:100px; cursor:default; display:none }
    #win0{left:100px; top:50px;}
    #win1{left:100px; top:200px}
    .win_title{color:#FFFFFF; background-color:#0066FF; height:20px}
    .win_title_left{float:left; width:200px}
    .win_title_right{width:30px; float:right}
    .win_txt{height:100%; padding:3px}</style>
    <script type="text/javascript">function win_doInit(x){
        var room = document.getElementById("win"+x)
        if(room.style.display=="block"){
        room.style.color="#ffffff";
    }
    else{
      if(room.style.display=="none"){
        room.style.display="block";
           }
       else{room.style.display="block";}
        }   
    }





    </script>
    </head><body><a href="javascript:win_doInit(0)">dfsdafdsa</a>
    <div class="win" id="win0">
        <div class="win_title">
            <div class="win_title_left">该处为第一个窗口的标题</div>
             <div class="win_title_right">-=x</div>      
        </div>
    <div class="win_txt">窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处窗口内容显示处</div>
    </div>
    <div class="win" id="win1">
        <div class="win_title">
            <div class="win_title_left">这个是第二个窗口的标题显示</div>
             <div class="win_title_right">-=x</div>      
        </div>
    <div class="win_txt">第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口第二个窗口</div>
    </div>
    </body>
    </html>
      

  6.   

    脚本写法没问题 两个if并列 不好问题在于页面标签样式如果你
    .win{display:none;}

    #win{display:none;}<div id="win"></div> 
    或 
    <div class="win" id="win"></div>主要是因为浏览器有时取到的 style.display
    不是 'none' 而是 '' 当然就不对了
    <div id="win" style="display:none"></div>
    这么写没问题
      

  7.   

    就是说div的层为隐藏的时候
    第一次点击style.display就是取""
    为什么?不能直接取.win{}中的值?
      

  8.   

    function win_doInit(){ 
      var room = document.getElementById("win") 
      if (room.style.display=="block"){ 
        room.style.color= "#ffffff "; 
      }   else if (room.style.display=="none"){ 
        room.style.display= "block";
        room.style.color= "#ffffff";  
      }       
    }都是if就都要执行里面内容
      

  9.   

    感谢其他的回复
    不过liveforever_1981 才是问题的症结所在