var Tags=$('.link'); 
var TagsCnt=$('.merchantlist');
var len=Tags.length; 
var flag=0;//修改默认值
for(i=0;i<len;i++){
Tags[i].value = i;
Tags[i].onclick=function(){changeNav(this.value)}; 
TagsCnt[i].style.display='none';
}
Tags[flag].className='active';
TagsCnt[flag].style.display='block';
function changeNav(v){
Tags[flag].className='link';
TagsCnt[flag].style.display='none';
flag=v;
Tags[v].className='active';
TagsCnt[v].style.display='block';
}
这样写IE6不支持,当把link变成active时,后面样式全乱了

解决方案 »

  1.   

    是js造成ie样式乱了,还是active,link的定义造成样式乱了
      

  2.   


    ie6下功能没实现,只要在CSS文件里写这个.active然后他后面的样式全部取不到。从来没遇到过这样的问题
    .active {
    width: 108px;
    border: 1px solid #efeecf;
    border-bottom:none;
    color: #fea425;
    cursor:pointer;
    background-color: #FFF;
    font-family: "黑体";
    font-size: 18px;
    height: 39px;
    _height: 30px;
    line-height: 250%;
    }
      

  3.   


    .link {
    color: #888888;
    background-color: #fefef3;
    height: 29px;
    width: 108px;
    border: 1px solid #efeecf;
    border-bottom:none;
    font-size: 14px;
    margin-top: 10px;
    cursor:pointer;
    line-height: 200%;
    }
    .active {
    width: 108px;
    border: 1px solid #efeecf;
    border-bottom:none;
    color: #fea425;
    cursor:pointer;
    background-color: #FFF;
    font-family: "黑体";
    font-size: 18px;
    height: 39px;
    _height: 30px;
    line-height: 250%;
    }
    <div class="merchant-left">
    <ul id="category">
    <li class="link">11111</li>
    <li class="link">22222</li>
    <li class="link">33333</li>
    <li class="link" id="dj">4444</li>
    </ul>
    <div id="merchant_content"><ul class="merchantlist">
    <li onMouseOver="this.style.backgroundColor='#fefef3'" onMouseOut="this.style.backgroundColor='#FFFFFF'">
    111111
    </li>
    <li onMouseOver="this.style.backgroundColor='#fefef3'" onMouseOut="this.style.backgroundColor='#FFFFFF'">
    1231sdasd
    </li>
    </ul>
    <ul class="merchantlist">
    <li onMouseOver="this.style.backgroundColor='#fefef3'" onMouseOut="this.style.backgroundColor='#FFFFFF'">
    23123sdfdgdfghjhhhhhhhhh
    </li>
    </ul>
    <ul class="merchantlist">
    <li onMouseOver="this.style.backgroundColor='#fefef3'" onMouseOut="this.style.backgroundColor='#FFFFFF'">33
    </li>
    </ul>
    <ul class="merchantlist">
    <li onMouseOver="this.style.backgroundColor='#fefef3'" onMouseOut="this.style.backgroundColor='#FFFFFF'">44
    </li>
    </ul>
    </div>
    </div>
    js上面我已经贴了,求解,谢谢
      

  4.   


    <style type="text/css">
    .link {
    cursor:pointer;
    width: 108px;
        color: #888888;

        background-color: #fefef3;
        height: 29px;
        
        border: 1px solid #efeecf;
        border-bottom:none;
        font-size: 14px;
        margin-top: 10px;
        
        line-height: 200%;
    }
    .active {
    cursor:pointer;
        width: 108px;
    color: #fea425;

    background-color: #FFF;
    height: 29px;

        margin-top: 10px;
       
        border: 1px solid #efeecf;
        border-bottom:none;    line-height: 200%;
    }
    </style>
      

  5.   

    可以JS在IE6下还是不支持,效果没实现,应该是兼容性问题吧
      

  6.   

    JS在IE6下还是不支持?
    re:提示什么了?
      

  7.   


    var Tags=document.getElementById('category').getElementsByTagName('li'); 
    var TagsCnt=document.getElementById('merchant_content').getElementsByTagName('ul'); 
    var len=Tags.length; 
    var flag=0;//修改默认值
    for(i=0;i<len;i++){
    Tags[i].value = i;
    Tags[i].onmousemove=function(){changeNav(this.value)}; 
    TagsCnt[i].className='undis';
    }
    Tags[flag].className='active';
    TagsCnt[flag].className='dis';
    function changeNav(v){
    Tags[flag].className='link';
    TagsCnt[flag].className='undis';
    flag=v;
    Tags[v].className='active';
    TagsCnt[v].className='dis';
    }
    原JS是这样的,但不让他取ID下的所有UL和LI,只让他取我命名的class。后面的就把他改成var Tags=$('.link'); var TagsCnt=$('.merchantlist');
    html面给需要的UL和LI加了class,代码上面贴出来了。就这样改IE不能用了,原来IE6下好用的,只不过我不想他取ID下所有的UL和LI。求解!万分感谢