HTML

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  6. <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0" />
  7. <title>珠峰培训</title>
  8. <!-- IMPORT CSS -->
  9. <link rel="stylesheet" href="./css/reset.min.css" />
  10. <style>
  11. .tabBox {
  12. margin: 20px auto;
  13. width: 500px;
  14. }
  15. .tabBox .tab {
  16. position: relative;
  17. top: 1px;
  18. }
  19. .tabBox .tab li {
  20. float: left;
  21. margin-right: 10px;
  22. padding: 0 10px;
  23. height: 35px;
  24. line-height: 35px;
  25. font-size: 14px;
  26. border: 1px solid #aaa;
  27. background: #f6f7fb;
  28. cursor: pointer;
  29. }
  30. .tabBox .tab li.active {
  31. background: #fff;
  32. border-bottom-color: #fff;
  33. }
  34. .tabBox div {
  35. display: none;
  36. padding: 10px;
  37. height: 100px;
  38. border: 1px solid #aaa;
  39. background: #fff;
  40. }
  41. .tabBox div.active {
  42. display: block;
  43. }
  44. </style>
  45. </head>
  46. <body>
  47. <section class="tabBox" id="tabBox">
  48. <ul class="tab clearfix">
  49. <li class="active">编程</li>
  50. <li>读书</li>
  51. <li>运动</li>
  52. </ul>
  53. <div class="active">编程可以使我“赚取高薪”</div>
  54. <div>读书可以使我“修身养性”</div>
  55. <div>运动可以使我“身体健康”</div>
  56. </section>
  57. <section class="tabBox" id="tabBox2">
  58. <ul class="tab clearfix">
  59. <li class="active">编程</li>
  60. <li>读书</li>
  61. <li>运动</li>
  62. </ul>
  63. <div class="active">编程可以使我“赚取高薪”</div>
  64. <div>读书可以使我“修身养性”</div>
  65. <div>运动可以使我“身体健康”</div>
  66. </section>
  67. <section class="tabBox" id="tabBox3">
  68. <ul class="tab clearfix">
  69. <li class="active">编程</li>
  70. <li>读书</li>
  71. <li>运动</li>
  72. </ul>
  73. <div class="active">编程可以使我“赚取高薪”</div>
  74. <div>读书可以使我“修身养性”</div>
  75. <div>运动可以使我“身体健康”</div>
  76. </section>
  77. </body>
  78. <script src="./js/jquery.min.js"></script>
  79. </html>

单个方法

 $(function () {
        // 绑定点击事件
        $("li").click(function () {
            // console.log(this);//原生对象
            // 给点击的元素增加active
            $(this).addClass('active').siblings().removeClass("active");
            let $index=$(this).index();
            $("div").eq($index).addClass('active').siblings().removeClass("active");
        });
});

选项卡jq封装

extend方法在jQuery原型上封装函数

$.fn.extend({
        tab: function () {
            //console.log(this)
            //this是tab执行点前面的,this也是我们增选项卡的范围
            // #tabbox 里面的li
            let _this=this;
            $('li', this).click(function () {
                //自己点击元素添加样式 移除兄弟元素的active
                $(this).addClass('active').siblings().removeClass("active");
                let $index = $(this).index();
                $('div',_this).eq($index).addClass('active').siblings().removeClass("active");
            });
        }
});
$("#tabBox").tab();
$("#tabBox2").tab();
$("#tabBox3").tab();