function slGList(a){
    for (var i = 1; i <= 3; i++) {
        var c = doucument.getElementById("res" + i);
        if (a == i) {
            c.style.display = "block";
        }
        else {
            c.style.display = "none";
        }
    }
}

解决方案 »

  1.   

    HOHO。
    你的代码中无论输入什么值都会把全部的对象隐藏掉。
    做一次就全都看不到了。
      

  2.   

    你2个都是 c.style.display= "none";  自然都是隐藏。
      

  3.   

    哦 这个地方 if(a==i) 
      { 
            var c=doucument.getElementById("res"+a); 
    c.style.display= "none"; 
      } 
    是我复制错了  但是即使改成block也不能实现啊 每次 循环只会一次...这是为什么啊??
    还有var c=doucument.getElementById("res"+a); 这个地方能获得id 是res1的层吗??
      

  4.   

    好象是var c=doucument.getElementById("res"+a); 这句有点问题??这个下面的就不走了
      

  5.   

    我给你一个做法
    var oldobj=false;
    function slGList(obj) 

    if(!oldobj&&obj.id!="默认显示的那ID")
    {
       doucument.getElementById("默认显示的那ID").style.display= "none";
    }
    if(oldobj&&obj.id!=oldobj.id)
    {
       oldobj.style.display= "none";
    }
       obj.style.display= "block"; 
       oldobj=obj; } 
    调用的时候就用slGList(this)比如
    <div id="res1" onclick="slGList(this)"></div>