LY-幻恋魂影

当前位置:“ 首页 > jQuery>使用 jQuery 实现 Tab 栏切换效果 ”
文章目录

使用 jQuery 实现 Tab 栏切换效果

用户:恋影编辑 时间:2025-02-09 阅读:199 评论:0

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();
        })
打赏

 

发表评论:


返回顶部