基于jquery的插件结构

(function ($) {
    /**
     * 创建dom
     * @param $this
     * @returns {boolean}
     */
    function createHtml($this) {

        _init($this);
    }

    /**
     * 初始化
     * @private
     */
    function _init($this) {

    }

    //public method
    var methods = {
        init: function (initOptions) {
            options = $.extend({}, $.fn.jqueryPluginName.defaults, initOptions);
            var $this = $(this);
            return this.each(function () {
                createHtml($this);
            });
        },
        destroy: function () {
            return this.each(function () {
            });
        },
        option: function (key, value) {
            if (arguments.length == 2)
                return this.each(function () {
                    if (options[key]) {
                        options[key] = value;
                    }
                });
            else
                return options[key];
        }
    }

    //插件的名字
    var methodName = "jqueryPluginName";

    var options = {};

    /**
     *  插件入口
     */
    $.fn.jqueryPluginName = function () {
        var method = arguments[0];
        if (methods[method]) {
            method = methods[method];
            arguments = Array.prototype.slice.call(arguments, 1);
        } else if (typeof method === "object" || !method) {
            method = methods.init;
        } else {
            $.error("Method(" + method + ") does not exist on " + methodName);
            return this;
        }
        return method.apply(this, arguments);
    }
    $.fn.jqueryPluginName.defaults = {
     
    };
})(jQuery);

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。