1、HTML 结构:
构建包含 Tab 标题和对应内容面板的 HTML 结构,通常使用无序列表(<ul>)表示 Tab 标题,使用多个 <div> 表示内容面板。
<!-- 1、实现tab栏切换;2、切换当前颜色;--> <div class="tab-container"> <ul class="tab-nav"> <li class="tab-link active" data-tab="tab1">Tab 1</li> <li class="tab-link" data-tab="tab2">Tab 2</li> <li class="tab-link" data-tab="tab3">Tab 3</li> </ul> <div class="tab-content content-active" id="tab1"> <p>这是Tab 1的内容</p> </div> <div class="tab-content" id="tab2"> <p>这是Tab 2的内容</p> </div> <div class="tab-content" id="tab3"> <p>这是Tab 3的内容</p> </div> </div>
2、CSS 样式:
设置 Tab 栏的基本样式,如背景颜色、字体样式等,并默认隐藏除第一个内容面板之外的其他内容面板。
/* tab容器 */ .tab-container { width: 500px; margin: 0 auto; } /* tab导航栏 */ .tab-nav { list-style-type: none; padding: 0; margin: 0; display: flex; border-bottom: 1px solid #ccc; } /* tab标签 */ .tab-link { padding: 5px 20px; cursor: pointer; border: 1px solid #ccc; border-bottom: none; border-top-left-radius: 5px; border-top-right-radius: 5px; } /* 当前激活的tab标签 */ .tab-link.active { background-color: #f0f0f0; } /* tab内容区域 */ .tab-content { display: none; padding: 20px; border: 1px solid #ccc; border-top: none; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } /* 初始显示的tab内容 */ .content-active { display: block; }
3、jQuery 交互:
使用 jQuery 监听 Tab 标题的点击事件,当点击某个 Tab 标题时,切换该标题的选中状态,并显示对应的内容面板,隐藏其他内容面板。
$('.tab-link').on('click', function() { // 1、为当前点击的tab标签添加active类,其它兄弟tab标签移除active类 $(this).addClass('active').siblings().removeClass('active'); // 2、获取当前点击的tab-link索引号$(this).index() // 3、显示当前点击的tab标签对应的tab内容,其它兄弟tab-content类隐藏 $('.tab-content').eq($(this).index()).show().siblings('.tab-content').hide(); })

