`

Jquery 插件开发全解析

阅读更多

http://www.cnblogs.com/libin-1/p/5944611.html

 

//一: 定义全局变量,三种方式

//(1)定义单个全局变量

jQuery.foo = function() {    

    alert('This is a test. This is only a test.');   

};   

 

jQuery.bar = function(param){

    alert('this function takes a parameter, which is '+param);

};

//(2)使用 extend 扩展 全局变量

jQuery.extend({

    newfoo:function(){

        alert('This is extend variable.');

    },

    newbar:function(param){

        alert('This is extend parameter, which is '+ param);

    }

});

//(3)使用命名空间定义变量,避免和其他全局变量冲突

jQuery.myPlugin = {

    foo:function(){

        alert('This is my foo.');

    },

    bar:function(param){

        alert('This is my param, which is '+param);

    }

};

//二:定义新插件,两种形式

//(1)首先创建一个闭包,使用extend

(function($){

    $.extend({

        pluginName:function(option,callback){

            //Our plugin implementation code goes here

        }

    });

})(jQuery);

//(2)首先创建一个闭包, 使用 $.fn. 

(function($){

    $.fn.hilight = function(options){

        //Extend our default options with those provided

        //Note that the first arg to extend is an empty object

        //this is to keep from overriding our "defaults" object

        var opts = $.extend({},$.fn.hilight.defaults,options);

        // Our plugin implementation code goes here

        

        return this.each(function(){

            var $this = $(this);

            

            $this.css({

                background:opts.background,

                color:opts.foreground

            });

            

            var markup = $this.html();

            //call our format function

            markup = $.fn.hilight.format(markup);

            

            $this.html(markup);

        });

    };

    

    //plugin defaults ---- added as a property on our plugin function

    $.fn.hilight.defaults = {

        foreground : 'red',

        background : 'yellow'

    };

    

    // define our format function

    $.fn.hilight.format = function(txt){

        return '<strong>'+txt+'</strong>';

    };

})(jQuery);

分享到:
评论

相关推荐

    jQuery插件开发全解析

    jQuery插件开发全解析 可提高封装能力和js编程能力。

    jQuery插件开发全解析.pdf

    jQuery插件开发全解析.pdf 详细叙述了jquery脚本开发 JQuery插件开发

    jQuery插件库

    jQuery插件开发全解析 jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery 的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料;本资料仅用于学习。 【课程内容】 第1周 开课介绍 python发展介绍 第一个python程序 变量 字符编码与二进制 字符编码的区别与介绍 用户交互程序 if ...

    JavaScript应用开发实践指南

    第10章介绍通过程序库更便捷地编写JavaScript代码,涵盖jQuery、插件、微型程序库等。第11章介绍实用、前沿的HTML5 JavaScript API,其中不乏新增API。第12章对关键知识点进行了梳理,并针对网站设计师和网站开发者...

    亿美内容管理系统 ExmayCMS v1.1.5 Beta.rar

    它是一个基于需求驱动的产品,采用优雅的系统架构,拥有强大的扩展能力,可任意无限扩展,具备插件式开发的充分与必要条件,亿美软件的社会性同时也为它注入了社区开发、可持续发展、具有顽强生命力的核心基因。...

    第三代移动WEB内核小程序风口-逐浪CMS2 x3.9.3全面发布

    ■扩展:使用新版本Jquery.js(升级到全新的v3.2.1) ■修复:节点链接Bug ■修复:单页--只允许首页生成 ■修复:扩展--运行SQL语句增加二次密码校验 ■扩展:Logo设计,下载图片时会自动添加水印 ■修复:因为特殊字符...

    JEECG快速开发平台-其他

    JEECG(J2EE Code Generation)是一款基于代码生成...插件开发,业务功能组件以插件方式集成平台,也可以单独部署发发布,有力支撑了SAAS云应用系统需求技术点二十二:专业接口对接机制,统一采用restful接口方式,集成

    青苹果影视系统-PHP

    5、插件多:系统基于DaiCuo后台开发框架进行开发,在网站后台可以通过DaiCuo的应用市场在线安装与管理网站多个实用插件。6、免维护:一次安装即可、24小时跟随影视资源站自动更新,省去采集、生成等繁锁工作,您只需...

    Java开源的下一代社区平台Symphony.zip

    Sym 提供了 API 进行帖子、回帖的同步(B3log 构思),目前 Solo、Typecho、Z-BlogPHP、WordPress 均已经提供插件来进行内容同步,欢迎大家进行接入! 以后也会陆续加入新的接口,方便大家制作 APP 客户端或是一些...

Global site tag (gtag.js) - Google Analytics