zoukankan      html  css  js  c++  java
  • jQuery插件开发通用框架

    jQuery插件开发框架代码:

    /*
    *插件编写说明:
    *1、插件命名:jQuery.[插件名].js,如jQuery.plugin.js
    *2、对象方法添加到jQuery.fn上,全局方法添加到jQuery对象本身上
    *3、插件内部的this指向通过选择器获取的jQuery对象本身上
    *4、可以使用this.each遍历所有元素
    *5、所有的方法以分号结束;插件头部先添加一个分号
    *6、插件应该返回一个jQuery对象,以保证插件的链式操作
    *7、使用闭包形式,使用$作为jQuery的别名以避免冲突
    */
    //为了兼容性良好,开始前有个分号
    ;
    //传入jQuery是为了确保在匿名函数中正确的使用jQuery对象,防止多库共存时$冲突
    //传入window、document并非必须,只不过为了更快的访问window和document
    //获得没有未被修改的'undefined',因为实际并没有传递这个参数
    (function($,win,doc,undefined){
     var alertPlugin=function(opts){
    //保存this变量
    var _self=this;
    //定义默认参数
    _self.opts={
       content:'弹出内容'
    };
    //根据传入的参数扩展默认参数
    if(opts && $.isPlainObject(opts){
            $.extend(_self.opts,opts);
    }
    //调用函数方法
    _self.show(_self.opts);
    };
    //函数方法实现
    alertPlugin.prototype={
     show:function(opts){
        alert(opts.content);
    }
    }
    //扩展插件
    $.fn.extend({
            alertPlugin:function(opts){
                 //遍历所有元素
    return this.each(function(){
            new alertPlugin(opts);
     });
    }
    });
    })(jQuery,window,document);//jQuery ,window,document作为实参

    插件调用:

    //未传递参数的调用
    $('.a').alertPlugin();
    //传递参数的调用
    $('.a').alertPlugin({content:'新弹出内容’});
  • 相关阅读:
    Codeforces Round #622 (Div. 2)
    Knapsack Cryptosystem 牛客团队赛
    HDU 2586(LCA欧拉序和st表)
    P3865 【模板】ST表
    P2023 [AHOI2009]维护序列 区间加乘模板
    P1558 色板游戏 线段树(区间修改,区间查询)
    Codeforces Round #621 (Div. 1 + Div. 2) D
    Codeforces Round #620 (Div. 2) E
    Educational Codeforces Round 82 (Rated for Div. 2)
    洛谷P1638 逛画展
  • 原文地址:https://www.cnblogs.com/zzp0320/p/7211520.html
Copyright © 2011-2022 走看看