• 学会自己写jQuery插件(二)---自己写的tab插件


    通过上一个基础篇我们知道插件的格式,这次我来写一个tab插件

    $(function() {
       $.fn.插件名称 = function(options) {
          var defaults = {
             Event : "click",        //触发响应事件
             msg : "Holle word!"        //显示内容
          };
          var options = $.extend(defaults,options);
          var $this = $(this);        //当然响应事件对象
          //功能代码部分
          //绑定事件
          $this.live(options.Event,function(e){
             alert(options.msg);
          });
       }
    });

    直接贴代码:

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css" media="screen">
            *{margin:0;padding: 0;}
            li{list-style: none}
            .lee_ul{overflow: hidden;zoom:1;}
            .lee_ul1{overflow: hidden;zoom:1;}
            li{width: 100px;height: 30px;float: left;}
            li.active{background: red;}
            li.current{background: red;}
            .lee_main div{display: none;background: #ccc;width: 300px;}
            .lee_main .active{display: block;}
            .lee_main1 div{display: none;background: #ccc;width: 300px;}
            .lee_main1 .current{display: block;}
        </style>
        <script type="text/javascript" src="jquery-1.8.3.min.js"></script>
        <script type="text/javascript">
            ;(function($){
    
                $.fn.lee_tab=function(options){
                    var defaults={
                        //各种参数,各种熟悉
                        activeClass:'active',
                        tabNav:'.lee_ul>li',
                        tabCon:'.lee_main>div',
                        eventType:'click'
                    }
    
                    var options=$.extend(defaults,options);
    
                    this.each(function(){
                        //实现功能的代码
                        var _this=$(this);
                        _this.find(options.tabNav).on(options.eventType,function(){
                            $(this).addClass(options.activeClass).siblings().removeClass(options.activeClass);
                            var index=$(this).index();
                            _this.find(options.tabCon).eq(index).show().siblings().hide();
                        });
    
                    });
    
                    return this;
                    alert(this);
                }
    
            })(jQuery);
    
            $(function(){
                $('.lee_tab').lee_tab();
    
                $('.lee_tab2').lee_tab({
                    activeClass:'current',
                    tabNav:'.lee_ul1>li',
                    tabCon:'.lee_main1>div',
                    eventType:'mouseover'
                });
            })
        </script>
    </head>
    <body>
        <div class="lee_tab">
            <ul class="lee_ul">
                <li class="active">1</li>
                <li>2</li>
                <li>3</li>
            </ul>
            <div class="lee_main">
                <div class="active">11</div>
                <div>22</div>
                <div>33</div>
            </div>
        </div>
        <div style="clear:both;"></div>
        <div class="lee_tab2">
            <ul class="lee_ul1">
                <li class="current">1</li>
                <li>2</li>
                <li>3</li>
            </ul>
            <div class="lee_main1">
                <div class="current">11</div>
                <div>22</div>
                <div>33</div>
            </div>
        </div>
    </body>
    </html>
  • 相关阅读:
    LeetCode18. 四数之和
    15. 三数之和
    LeetCode202. 快乐数
    LeetCode1. 两数之和
    LeetCode349. 两个数组的交集
    LeetCode242. 有效的字母异位词
    VSCode运行时弹出powershell
    关于cin, cin.get(), getchar(),getline()的字符问题
    剑指 Offer 27. 二叉树的镜像
    BFS zoj 1649
  • 原文地址:https://www.cnblogs.com/leejersey/p/3604999.html
Copyright © 2020-2023  润新知