解决方案 »

  1.   

    <!DOCTYPE html>
    <meta charset="UTF-8" /><html>
    <head><style type="text/css">
    #div1 div{width:200px;height:200px;background:#ccc;border:1px solid black;
    display:none;}
    #div1 .active{background:yellow;}
    </style>
     <script>
        window.onload=function ()
    {
    var oDiv=document.getElementById('div1');
    var oBtn=oDiv.getElementsByTagName('input');
    var oDivv=oDiv.getElementsByTagName('div');        
                for(var i=0;i<oBtn.length;i++){ (function(i){
                oBtn[i].onclick=function(){
         for(var j=0;j<oBtn.length;j++){
           oBtn[j].className=' ';
       oDivv[j].style.display='none';    
       }
           this.className='active';
       oDivv[i].style.display='block';    
    };})(i)
    }
     }
    </script>
    </head>
    <body>
    <div id="div1">
    <input class="active" type="button" value="体育" />
    <input  type="button" value="教育" />
    <input  type="button" value="娱乐" />
    <input  type="button" value="科技" />
    <div style="display:block;">111111</div>
    <div>2222</div>
    <div>3333</div>
    <div>4444</div>
    </div>
    </body>
    </html>
      

  2.   

    (function(i){......};})(i)这段是什么意思?我刚学不清楚(...)(..)是什么意思!
      

  3.   

    哦,你能不能帮我解释一下那for循环内面 oBtn[i].onclick=function(){}这句从加载到点击按钮是如何执行的?我一直弄不明白不是在页面加载完后for就循环完了吗且此时的i值是4不会改变,那当我去点击按钮是他怎么知道我点击哪个的?也就是我点击的时候 oBtn[i].onclick=function()怎样执行相应的onclick事件的?
      

  4.   


    哦,你能不能帮我解释一下那for循环内面 oBtn[i].onclick=function(){}这句从加载到点击按钮是如何执行的?我一直弄不明白不是在页面加载完后for就循环完了吗且此时的i值是4不会改变,那当我去点击按钮是他怎么知道我点击哪个的?也就是我点击的时候 oBtn[i].onclick=function()怎样执行相应的onclick事件的?
      

  5.   

      oBtn[i].onclick=function(){ 为按钮添加事件,执行的自然是function里的代码,显示哪个div由变量i控制,(function(){i})(i)这个函数体内i的值是不会变的
    (function(i){
                oBtn[i].onclick=function(){
    alert(i);      //调试下看i的值
         for(var j=0;j<oBtn.length;j++){
           oBtn[j].className=' ';
       oDivv[j].style.display='none';       
       }
           this.className='active';
       oDivv[i].style.display='block';       
    };})(i)
      

  6.   

    我想知道加载完成后for循环结束那for里面的语句应该就执行完了,他会不会是在这循环的过程中相当于创建了oBtn[0].onclick=function(); oBtn[1].onclick=function() ;oBtn[2].onclick=function() ;oBtn[3].onclick=function()四个点击事件函数当点击相应按钮时会执行这四个当中对应的点击函数?还是说 oBtn[i].onclick=function()这句再循环是不会执行只有在点击是才会被执行?
      

  7.   

     oBtn[i].onclick=function() 这个只是定义不会执行的要在点击的时候才执行http://www.w3school.com.cn/jsref/event_onclick.asp