tab切换

首先需要将所有内容写出来,再将除了需要显示的内容全部隐藏:(在样式上写display:none;)(不隐藏:display:"";)

在上下两个大的内容框里面定义id,方便后面函数需要的查找

设置一个悬浮移入onmouseover,并且在里面定义一个函数:onmouseover="sub()",在函数里面设置一个事件event

设置一个类样式<style>表示悬浮时的样式,写在一个切换点上(切换点的顺序与下面显示内容的顺序保持一致)

在函数里面找到第一个id接收;在第一个id里面找到它的所有第一子集接收;定义下标为0;设置一个触发

在函数里循环如果当这个事件被触发时,通过下标找到这个数,设置它的class属性为显示;反之没有触发到则隐藏

第二个id在同一个函数里面用同样的方法但不需要循环

#first{
    display: flex;
    justify-content:space-between;
   }
   li{
    list-style-type:none ;
    border: 1px solid #999;
    width: 150px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    background-color: pink;
    color: white;
   }
   div{
    display: flex;
    justify-content: space-between;
   }
   #second>ul{
    display: none;
   }
   .active{
    background-color: darkgrey;
   }
   #second .show{
    display:block;
   }
  </style>
 </head>
 <body>
  <ul id="first">
   <li onmouseover="hov(event)" class="active">列表一</li>
   <li onmouseover="hov(event)">列表二</li>
   <li onmouseover="hov(event)">列表三</li>
   <li onmouseover="hov(event)">列表四</li>
  </ul>
  <div id="second">
   <ul class="show">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
   </ul>
   <ul>
    <li>11</li>
    <li>22</li>
    <li>33</li>
    <li>44</li>
   </ul>
   <ul>
    <li>111</li>
    <li>222</li>
    <li>333</li>
    <li>444</li>
   </ul>
   <ul>
    <li>1111</li>
    <li>2222</li>
    <li>3333</li>
    <li>4444</li>
   </ul>
  </div>
  <script>
   function hov(e){
    var tag =e.target;
    var uls = document.getElementById("first");
    var lis = uls.querySelectorAll("li");
    var index = 0;
    for (var i = 0;i<lis.length;i++) {
     if(lis[i]==tag){
      index=i;
      lis[i].className = "active";
     }else{
      lis[i].className = "";
     }
    }
    var second = document.getElementById("second");
    var num = second.querySelectorAll("ul");
    for (var i =0;i<ulss.length;i++) {
     if(i==index){
      num[i].className="show";
     }else{
      num[i].className="";
     }
    }
   }
  </script>

 

posted @ 2018-07-16 22:57  一hai千寻  阅读(176)  评论(0编辑  收藏  举报