js,li形式的选项卡,点击显示不同的div

练习了一上午,一直在获取元素上出错误,最终还是弄好了


<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Home</title>
  <!-- <script src="../js/jquery.min.js" type="text/javascript"></script> -->
  <style type="text/css">
   *{
    margin:0;
    padding: 0;
  }
  #box{
    width: 410px;
    display: block;
  }
  ul{
    list-style: none;
    float: left;
  }
  ul li{
    width: 100px;
    border: 2px solid #ccc;
    text-align: center;
    margin-top: -2px;
    height: 50px;
    line-height: 50px;
    cursor: pointer;
  }
  #content{
    width: 410px;
  }
  .tab{
    width: 410px;
    height: 204px;
    border: 2px solid #ececec;
    display: none;
    margin-left: 102px;
  }
  .hover{
    border: 2px solid red;
  }
</style>
</head>
<body>
  <div style="margin:100px auto;">
    <div id="box">
      <ul id="ul1">
        <li>国际名品</li>
        <li>户外秒杀</li>
        <li>运动潮流</li>
        <li>健身器材</li>
      </ul>
    </div>


    <div id="content">
      <div class="tab" style="display:block;">国际大牌国际大牌国际大牌国际大牌国际大牌国际大牌国际大牌国际大牌</div>
      <div class="tab"> shedffffffffffffffffffffffffffffff</div>
      <div class="tab"> vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv</div>
      <div value="000" class="tab"> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
    </div>
  </div>
  <script type="text/javascript">
    var lis = document.getElementById("ul1").getElementsByTagName("li");
    var divs = document.getElementById("content").getElementsByTagName("div");
    for(var i=0; i<lis.length; i++){


        lis[i].index = i;


      lis[i].onclick = function(){


              for(var j=0; j<lis.length; j++){
                lis[j].className = "";
              }


              this.className ="hover";


              for(var i=0; i<divs.length; i++){
                divs[i].style.display="none";
              }


              divs[this.index].style.display = "block";




      }
    }


  </script>  
</body>
</html>



思路:点击后,第一个循环把所有的li样式都隐藏,然后添加当前选中的li的样式。

第二个循环,把所有的div都隐藏,然后显示点击li的index值和div的index值一致的div块

最外层的循环,就是要不断的点击,,不断的执行下面的循环。。。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值