jQuery插件开发前准备(四)

通过上面三个小结的梳理,最终来个总结,将插件通用形式整成模板,以供重复调用。

(function($) {
    var MyPlugin = (function() {
        function MyPlugin(element, options) {
            // 将用户配置项与默认选项进行深拷贝
            this.settings = $.extend(true, $.fn.MyPlugin.defaultValue, options || {});
            this.element = element;
            this.init();
        }
        MyPlugin.prototype = {
            // 初始化插件
            init: function() {
                var _this = this;
            },
            //绘制dom结构
            _initDom: function() {

            }
        };
        // 必须要将该对象返回出去
        return MyPlugin;
    })();
    $.fn.MyPlugin = function(options) {
        return this.each(function() {
            var _this = $(this),
                // 从当前对象下读取实例
                instance = _this.data('MyPlugin');
            // 如果没有实例新建一个
            if (!instance) {
                // 新建实例,_this表示当前选中元素,options表示配置
                instance = new MyPlugin(_this, options);
                // 将当前实例保存到data数据中
                _this.data('MyPlugin', instance);
            }
            if ($.type(options) === 'string') {
                return instance[options]();
            }
        });
    };
    // 默认参数
    $.fn.MyPlugin.defaultValue = {
        value1: '1',
        value2: '2',
        value3: '3',
        value4: '4'
    };
})(jQuery);        

 

转载于:https://www.cnblogs.com/songxiaoyu/p/5782141.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值