zoukankan      html  css  js  c++  java
  • 【特效】jquery选项卡插件,页面多个选项卡统一调用

    把选项卡整合了一下,写成个插件,这样可以整个站,或整个页面有多个选项卡时,统一调用。代码的具体注意事项已经写进注释了。用于js获取元素的class名称必须有,选项卡本身的样式,另再取一个名字来设置(本人不大喜欢用id,一般写js代码也用class名称来获取元素)。这样也在一定意义上实现了行为和样式的分离。 

    html

    <!--第一个选项卡-->

    <div class="js_tab box1">

             <h2 class="jsTab_title"><span>标题11</span><span>标题12</span><span>标题13</span></h2>

        <div class="jsTab_con">

        内容11

        </div>

        <div class="jsTab_con">

        内容12

        </div>

        <div class="jsTab_con">

        内容13

        </div>

    </div>

    <!--第二个选项卡-->

    <div class="js_tab box2">

             <h2 class="jsTab_title"><span>标题21</span><span>标题22</span><span>标题23</span></h2>

        <div class="jsTab_con">

        内容21

        </div>

        <div class="jsTab_con">

        内容22

        </div>

        <div class="jsTab_con">

        内容23

        </div>

    </div>

    css

    /*必须设置的*/

    .jsTab_con{ display:none;}

    .jsTab_title span{ cursor:pointer;}

    .jsTab_title .jsTab_this{ background:#096;}

    /*选项卡的样式*/

    .js_tab{ 900px; margin:30px auto 0; border:1px solid #0C9;}

    .js_tab h2{ font-weight:normal; height:40px; line-height:40px; text-align:center;}

    .js_tab h2 span{ display:inline-block; 270px; margin:0 10px; background:#0CF; color:#fff;}

    .jsTab_con{ 848px; height:200px; border:1px solid #09C; margin:0 auto 20px;}

    js

    $(document).ready(function(){

             //使选项卡的第一项显示,必须加入

             var tabs=$(".js_tab");

             tabs.each(function(){

                       $(this).find(".jsTab_title span").first().addClass("jsTab_this");

                       $(this).find(".jsTab_con").first().show();         

                       });                       

            

             //调用,不能用本身的js_tab调用,需另起一个class或id

             $(".box1").js_tab();

             $(".box2").js_tab();

            

    });

    //选项卡插件

    ;(function($){

             $.fn.extend({

                       "js_tab":function(){                   

                                $(this).find(".jsTab_title span").each(function(index){

                                         $(this).click(function(){                                         

                                                   $(this).siblings("span").removeClass("jsTab_this");                                           

                                                   $(this).addClass("jsTab_this");       

                                                   var tab_c=$(this).parents(".js_tab").find(".jsTab_con");                                   

                                                   tab_c.hide();

                                                   tab_c.eq(index).show();

                                                   });

                                                   return $(this);

                                         });

                                }

                       });              

    })(jQuery);

    预览效果:http://www.gbtags.com/gb/rtreplayerpreview-standalone/2840.htm

    源码下载:http://pan.baidu.com/s/1o8gVTs2

  • 相关阅读:
    shuffle
    clamp
    max
    zip
    enumerate
    isinstance
    stack
    reshape(-1)
    meshgrid
    最长回文子串
  • 原文地址:https://www.cnblogs.com/xiaoxianweb/p/5441915.html
Copyright © 2011-2022 走看看