JQ插件开发demo
如果只封装一个方法的话,比如bootstrap的弹出层:
XML/HTML Code复制内容到剪贴板
- (function ($) {
- $.fn.tooltip = function (options) {
- //创建一些默认值,拓展任何被提供的选项
- var dft = {
- 'title': '信息',
- 'content': 'error!'
- };
- var ops = $.extend(dft,options);
- $('#tips').on('show.bs.modal', function (event) {
- var modal = $(this)
- modal.find('.modal-title').text(ops.title)
- modal.find('.modal-body').html(ops.content);
- });
- $('#tips').modal('toggle');
- };
- })(jQuery);
调用方式:
JavaScript Code复制内容到剪贴板
- $("div").tooltip({
- title:'错误',
- content:'待解析的字符不能为空'
- });
如果该插件,有多个方法的话:执行方法的时候 后面有一个参数arguments,1表示不传递参数,0表示传递,如果要传参,改为0
JavaScript Code复制内容到剪贴板
- (function ($,window) {
- var methods = {
- init: function (options) {
- $('#tips').modal('toggle');
- },
- show: function () {
- // is
- },
- hide: function () {
- // good
- },
- error: function (options) {
- var dft = {
- 'title': '信息',
- 'content': 'error!'
- };
- var ops = $.extend(dft,options);
- $('#tips').on('show.bs.modal', function (event) {
- var modal = $(this)
- // var title = options.title ? options.title:'信息'
- modal.find('.modal-title').text(ops.title)
- modal.find('.modal-body').html(ops.content);
- });
- $('#tips').modal('toggle');
- }
- };
- $.fn.tooltip = function (options) {
- // 方法调用
- if (methods[options.method]) {
- return methods[options.method].apply(this, Array.prototype.slice.call(arguments, 0));
- } else if (typeof options.method === 'object' || !options.method) {
- return methods.init.apply(this, arguments);
- } else {
- return methods.error.apply(this, arguments);
- // $.error('Method' + options.method + 'does not exist on jQuery.tooltip');
- }
- };
- })(jQuery,window);
调用方法:
JavaScript Code复制内容到剪贴板
- $("div").tooltip({
- method:'error',
- title:'错误',
- content:'待解析的字符不能为空'
- });