js选项卡

js选项卡的实现:

思路

   1,获取元素;

   2,for循环按钮元素添加onclick(点击) 或者 onmousemove(移入)事件;

   3,点击当前按钮时会以高亮状态显示,通过for循环历遍把所有的按钮样式设置为空在把所有div的display设置为none。

   4,点击当前按钮添加样式,把当前div显示出来,display设置为block。

html代码:

   <div id="div1">
       <input type="button" class="active" value="1"/>
       <input type="button" value="2"/>
       <input type="button" value="3"/> 
       <input type="button" value="4"/>
            <div class="div2" style="display:block;">11</div>
            <div class="div2">22</div>
            <div class="div2">33</div>
            <div class="div2">44</div>
    </div>

css:

  .active
      {
       background:#9CC;
      }
  .div2
      {
       width:300px;
       height:200px; 
       border:1px #666666 solid;
       display:none;
      }

js代码:

   

<script>
window.onload=function(){

      var odiv=document.getElementById('div1');//获取div
      var btn=odiv.getElementsByTagName('input');//获取div下的input
      var div2=odiv.getElementsByTagName('div') ;//获取div下的div

   for(i=0;i<btn.length;i++)//循环每个按钮
     {
         btn[i].index=i //btn[i]是指定button的第i个按钮;为该按钮添加一个index属性,并将index的值设置为i
         btn[i].onclick=function()//按钮的第i个点击事件
       {
        for(i=0;i<btn.length;i++)//循环去掉button的样式,把div隐藏
          {
              btn[i].className='' //清空按钮的样式
              div2[i].style.display='none'//隐藏div
           }
               this.className='active'//自身添加active
               div2[this.index].style.display='block'//this.index是当前div 


        }
     }

}
</script>

 

 

 

 

   

你可能感兴趣的:(js)