var j =i;
似乎多余。

解决方案 »

  1.   

    这为什么非要闭包呢,这样不行么?function Tab(){
        var tabArr = $('tab').getElementsByTagName('a');
        var contArr = getElementsByClassName('hotestCont');    for( var i=0; i<tabArr.length; i++ ){
                tabArr[i].onmouseover= function(){
                    this.className = 'here';
                    contArr[i].style.display="block";
                };
                tabArr[i].onmouseout= function(){
                    this.className = '';
                    contArr[i].style.display="none";
                };
                contArr[i].onmouseover=function(){
                    tabArr[i].className = 'here';
                    this.style.display="block";
                };
                contArr[i].onmouseout=function(){
                    tabArr[i].className = '';
                    this.style.display="none";
                }
        }
    }
      

  2.   

    改成这样或许lz会好理解些
    function Tab(){
        var tabArr = $('tab').getElementsByTagName('a');
        var contArr = getElementsByClassName('hotestCont');    for( var i=0; i<tabArr.length; i++ ){
            (function(oTab, oCont){
                oTab.onmouseover= function(){
                    this.className = 'here';
                    oCont.style.display="block";
                };
                oTab.onmouseout= function(){
                    this.className = '';
                    oCont.style.display="none";
                };
                oCont.onmouseover=function(){
                    oTab.className = 'here';
                    this.style.display="block";
                };
                oCont.onmouseout=function(){
                    oTab.className = '';
                    this.style.display="none";
                }
            })(tabArr[i],contArr[i])    }
    }