• js鼠标点击版tab切换


    代码很简单,主要是布局需要用心研究下,使用时需要把css内注释去除

    <!DOCTYPE html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>tab切换</title>
    <style>
    *{margin:0; padding:0;}
    .tab{width:298px; height:200px; border:1px solid #e5e5e5; margin:50px auto;}
    a{text-decoration:none; color:#000;}
    .tab-tit{height:27px; background:#f8f8f8; position:relative;}                            //定义高度
    .tab-tit ul{ list-style-type:none; position:absolute; left:-1px; 301px;}                        //绝对定位
    .tab-tit ul li{float:left; width:58px; text-align:center; line-height:27px;              
    border-bottom:1px solid #e5e5e5; padding:0 1px}                 //和tit一样的高度,但是多了一个下边框   左右有1px的内边距防止active加border后布局混乱
    .tab-tit ul .active{border-bottom:#fff; background:#fff; border-left:1px solid #e5e5e5; border-right:1px solid #e5e5e5; padding:0;}  
    .tab-content div{display:none;}
    </style>
    <script>
    function getByClass(className,parent){
        var oParent=parent?document.getElementById(parent):document;   // 判断parent参数是否存在,不存在,使用document选区文档所有class
        eles=[];                                                   
        elements=oParent.getElementsByTagName('*');
        for(var i=0,l=elements.length;i<l;i++){
            if(elements[i].className==className){                     
                eles.push(elements[i]);                               //所有符合class存入数组,使用是要使用数组形势如 oDiv[0]
            }
        }
        return eles;
    }
    window.onload=function(){
        var oTab=getByClass('tab-tit');
        var aTab= oTab[0].getElementsByTagName('li');
        var oTabCon=getByClass('tab-content');
        var aTabCon=oTabCon[0].getElementsByTagName('div');
        console.log(aTabCon);
        for(var i=0,l=aTab.length;i<l;i++){
           aTab[i].index=i;                                      //一组元素控制另一组元素,需要加索引
           aTab[i].onclick=function(){
               for(var i=0,l=aTab.length;i<l;i++){
                   aTab[i].className='';
               }
               this.className='active';
               
               for(var i=0,l=aTabCon.length;i<l;i++){
                    aTabCon[i].style.display='none';
                   
               }
               aTabCon[this.index].style.display='block';
               
           }    
        }
    }
    </script>
    </head>
    
    <body>
    <div class="tab">
      <div class="tab-tit">
        <ul>
          <li class="active"><a href="javascript:;">关羽</a></li>
          <li><a href="javascript:;">张飞</a></li>
          <li><a href="javascript:;">赵云</a></li>
          <li><a href="javascript:;">马超</a></li>
          <li><a href="javascript:;">黄忠</a></li>
        </ul>
      </div>
      <div class="tab-content">
           <div style="display:block">关羽的儿子</div>
           <div>张飞的儿子</div>
           <div>赵云的儿子</div>
           <div>马超的儿子</div>
           <div>黄忠的儿子</div>
      </div>
    </div>
    </body>
    </html>

    感谢Amy老师的教程http://www.imooc.com/learn/176

  • 相关阅读:
    (转)用Ajax技术让IE Web Control Tree View实现大数据量读取
    您试图从目录中执行CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序
    oracle数据库中ORA28000: the account is locked问题
    C#动态生成html页面
    oracle 用户权限解释
    HCPC2013校赛训练赛 2
    ZOJ2770 Burn the Linked Camp 差分约束
    POJ2570 Fiber Network 状态压缩+floyd
    ZOJ3088 Easter Holidays 最短路
    POJ1364 King 差分约束
  • 原文地址:https://www.cnblogs.com/txxt/p/5805281.html
Copyright © 2020-2023  润新知