jquery选项卡

效果如下:

html部分

<div id="box" class="box">
        <div class="thead">
            <h2>选项卡</h2>
            <ul class="tab0">
                <li class="index"><span>标题一</span></li>
                <li><span>标题二</span></li>
                <li><span>标题三</span></li>
                <li><span>标题四</span></li>
            </ul>
        </div>
        <div class="tbody">
            <div class="block"><img src="2018a.png" alt=""></div>
            <div class="none"><img src="2018b.png" alt=""></div>
            <div class="none"><img src="2018c.png" alt=""></div>
            <div class="none"><img src="2018d.png" alt=""></div>
        </div>
</div>

结构分为两部分

第一部分是选择点击的按钮部分

第二部分是被选择后所显示的内容的部分

  由于要逐一显示,所以就使用display:none;隐藏。

 

css部分

        * {
            margin: 0;
            padding: 0;
        }
        #box {
            width: 758px;
            height: 32px;
            margin: 15px auto;
        }
        .thead ul {
            float: right;
            list-style-type: none;
            line-height: 32px;
            height: 32px;
        }
        .thead ul li {
            float: left;
            height: 32px;
            width: 122px;
            color: #fff;
            text-align: center;
            margin: 0 5px;
            cursor: pointer;
            background: #666;
        }
        .none {
            display: none;
        }
        .block {
            display: block;
        }
        .index {
            color: #fff;
            background: #bc241a;
            font-weight: 400;
        }
        .tbody {
            width: 100%;
        } 
        .tbody img {
            border-radius: 5px;
            border: 1px solid #ccc;
            width: 100%;
        }

关于这部分,其实最大的问题就是尺寸的问题,即便想嫁接,也会因尺寸不合而修改。

况且因效果图的不同,往往样式本身就得重新返工。

所以,这里只是个基本的样式表现。

 

jquery部分

 $(function(){
            tab();
        });
        function tab(){
            var obj = $("#box").find(".tab0>li");
            $(obj).click(function(){
                var id = $(obj).index(this);          
                $("#box").find(".tbody>div").removeClass().addClass("none");
                $("#box").find(".tbody>div:eq("+id+")").removeClass().addClass("block");
            });
        }

创建选项卡tab()函数

  函数内第一行

    先查找到选项卡点击的部分的所以li,

  第二行到最后

    给点击的当前li定义个变量,并获取当前编号。(从零开始)

    然后先让所以的图片都隐藏

    再利用之前选出的编号id,和eq()函数所选中的那个显示

 

    

    

posted @ 2018-08-07 15:10  银王意志  阅读(281)  评论(0编辑  收藏  举报