jQuery实现仿淘宝tab栏切换效果

来源:互联网 发布:知豆可以开多少公里 编辑:程序博客网 时间:2024/05/20 05:03

jQuery实现仿淘宝tab栏切换效果


首先先把html页面主要展示的内容写出来:

<div class="wrapper">
  <ul class="tab">
    <li class="tab-item active">国际大牌<span>◆</span></li>
    <li class="tab-item">国妆名牌<span>◆</span></li>
    <li class="tab-item">清洁用品<span>◆</span></li>
    <li class="tab-item">男士精品</li>
  </ul>
  <div class="products">
    <div class="main selected">
      <a href="###"><img src="img/guojidapai.jpg" alt=""/></a>
    </div>
    <div class="main">
      <a href="###"><img src="img/guozhuangmingpin.jpg" alt=""/></a>
    </div>
    <div class="main">
      <a href="###"><img src="img/qingjieyongpin.jpg" alt=""/></a>
    </div>
    <div class="main">
      <a href="###"><img src="img/nanshijingpin.jpg" alt=""/></a>
    </div>
  </div>
</div>

效果图如下:


根据效果图写出css样式:

<style type="text/css">
    * {
      margin: 0;
      padding: 0;
    }
    
    ul {
      list-style: none;
    }
    
    .wrapper {
      width: 1000px;
      height: 475px;
      margin: 0 auto;
      margin-top: 100px;
    }
    
    .tab {
      border: 1px solid #ddd;
      border-bottom: 0;
      height: 36px;
      width: 320px;
    }
    
    .tab li {
      position: relative;
      float: left;
      width: 80px;
      height: 34px;
      line-height: 34px;
      text-align: center;
      cursor: pointer;
      border-top: 4px solid #fff;
    }
    
    .tab span {
      position: absolute;
      right: 0;
      top: 10px;
      background: #ddd;
      width: 1px;
      height: 14px;
      overflow: hidden;
    }
    
    .products {
      width: 1002px;
      border: 1px solid #ddd;
      height: 476px;
    }
    
    .products .main {
      float: left;
      display: none;
    }
    
    .products .main.selected {
      display: block;
    }
    
    .tab li.active {
      border-color: red;
      border-bottom: 0;
    }
  
  </style>

雏形效果图:


写出jQuery代码:<script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
  <script>
    $(function () {
      
      $(".tab-item").mouseenter(function () {//鼠标移入tab栏触发事件
        //两件事件
        $(this).addClass("active").siblings().removeClass("active");//给移入的tab栏添加active的效果,其他tab栏移除active效果
        var idx = $(this).index();//定义一个idx变量,idx就等于tab的下标,根据下标找出内容栏的切换内容
        $(".main").eq(idx).addClass("selected").siblings().removeClass("selected");
      });
      
    });
  </script>

原创粉丝点击