js选项卡

 

很常用的一个小功能,鼠标移动到某个li上面,或者标签上面,就跟着切换内容。

<style>
  ul,li{
      margin:0;
      padding:0;
      list-style: none;
  }

  ul{
      overflow: hidden;
  }
  li{
      width: 100px;
      height: 40px;
      background-color: #eee;
      border: 1px solid #ccc;
      float: left;
      line-height: 40px;
      text-align: center;
  }

  div{
      width: 406px;
      height: 406px;
      border: 1px solid #ccc;
  }
  img{
      width: 406px;
      height: 406px;
      display: none;
  }
</style>
<body>
  <ul>
    <li>大橘</li>
    <li>英短</li>
    <li>美短</li>
    <li>布偶</li>
</ul>
<div>
    <img src="./ju.jpg" alt="" style="display: block;">
    <img src="./ying.jpg" alt="">
    <img src="./hu.jpg" alt="">
    <img src="./bu.jpg" alt="">
</div>
<script type="text/javascript">
  // 先获取li和img
  let li = document.getElementsByTagName('li');
  let img = document.getElementsByTagName('img');

  // 遍历每个li
  for(let i=0;i<li.length;i++){

    li[i].index = i;
    // 当鼠标移动到上面
    li[i].onmouseover = function(){
      // 改变当前li的颜色
      this.style.backgroundColor = 'yellow';
      // 遍历每一个img,设置display,隐藏
      for(let j=0;j<img.length;j++){
        img[j].style.display = 'none';
      }
      // this.index相当于当前正在遍历的li
      console.log(this.index = i);
      img[this.index].style.display = 'block';
    }
    // 当我们鼠标移出后改变颜色
    li[i].onmouseout = function(){
      li[i].style.backgroundColor = '#eee';
    }
  }
</script>
</body>

 

posted @ 2021-08-26 18:29  Private!  阅读(59)  评论(0编辑  收藏  举报