jquery插件扩展的学习
jquery插件的学习可以点击这里
举个例子
- //首先先来一个插件
- (function($){
- $.fn.extent({
- bigfont:function(){
- return this.css('fontSize':"30px")
- }
- })
- })(jQuery)
<p class='p1'>好好学习天天向上</p>
运行
jquery的插件机制
jquery.extent方法的重载,如$.each,$.ajax的功能
举个例子
<p>2+1=?<p>
运行
关于extent的重载的深入学习
$.extent([deep],obj1,obj2,obj3)
//deep: 可选。如果设为true,则递归合并。
// target: 待修改对象。
// object1: 待合并到第一个对象的对象。
// objectN: 可选。待合并到第一个对象的对象。
- //举个例子
运行
- //举个例子
运行
- //举个例子
运行
插件的另外的写法
- //(1)
- !function($){
- //do something
- }(jQuery);
- (function($){
- //do something
- })(jQuery)
插件实例
- //闭包限定命名空间
- (function ($) {
- $.fn.extend({
- "highLight": function (options) {
- var opts = $.extend({}, defaluts, options); //使用jQuery.extend 覆盖插件默认参数
- this.each(function () { //这里的this 就是 jQuery对象
- //遍历所有的要高亮的dom,当调用 highLight()插件的是一个集合的时候。
- var $this = $(this); //获取当前dom 的 jQuery对象,这里的this是当前循环的dom
- //根据参数来设置 dom的样式
- $this.css({
- backgroundColor: opts.background,
- color: opts.foreground
- });
- });
- }
- });
- //默认参数
- var defaluts = {
- foreground: 'red',
- background: 'yellow'
- };
- })(window.jQuery);
- //闭包限定命名空间
- (function ($) {
- $.fn.extend({
- "highLight": function (options) {
- //检测用户传进来的参数是否合法
- if (!isValid(options))
- return this;
- var opts = $.extend({}, defaluts, options); //使用jQuery.extend 覆盖插件默认参数
- return this.each(function () { //这里的this 就是 jQuery对象。这里return 为了支持链式调用
- //遍历所有的要高亮的dom,当调用 highLight()插件的是一个集合的时候。
- var $this = $(this); //获取当前dom 的 jQuery对象,这里的this是当前循环的dom
- //根据参数来设置 dom的样式
- $this.css({
- backgroundColor: opts.background,
- color: opts.foreground
- });
- //格式化高亮文本
- var markup = $this.html();
- markup = $.fn.highLight.format(markup);
- $this.html(markup);
- });
- }
- });
- //默认参数
- var defaluts = {
- foreground: 'red',
- background: 'yellow'
- };
- //公共的格式化 方法. 默认是加粗,用户可以通过覆盖该方法达到不同的格式化效果。
- $.fn.highLight.format = function (str) {
- return "" + str + "";
- }
- //私有方法,检测参数是否合法
- function isValid(options) {
- return !options || (options && typeof options === "object") ? true : false;
- }
- })(window.jQuery);
jquery插件扩展的学习的更多相关文章
- FireFox 浏览器插件/扩展开发学习
2014-11-08 内容存档在evernote,笔记名"FireFox 浏览器插件/扩展开发学习"
- JS原生ajax与Jquery插件ajax深入学习
序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来jquery插件ajax方法,于是就行了一些总结,因 ...
- jQuery插件扩展方法
jQuery为扩展插件提拱了两个方法,分别是: jQuery.extend(object) —— 给jQuery对象添加方法. jQuery.fn.extend(object) —— 为扩展jQuer ...
- jQuery插件扩展extend的实现原理
相信每位前端的小伙伴对jQuery都不陌生吧,它最大的魅力之一就是有大量的插件,去帮助我们更轻松的实现各种功能. 前几天晚上,闲来无事,就自己动手写了个简单的jQuery插件,功能很简单,只是让选定的 ...
- [js插件开发教程]原生js仿jquery架构扩展开发选项卡插件
jquery插件一般是这么干的: $.fn.插件名称 = function(){}, 把插件的名称加在.fn上,在源码里面实际上是扩展到构造函数的原型对象上,如果你没看过jquery的源代码,或者你曾 ...
- 利用jQuery来扩展一个瀑布流插件
简单了解jQuery.fn.extend() jQuery.fn.extend()函数用于为jQuery扩展一个或多个实例属性和方法(主要用于扩展方法). (截图来自jQuery文档) 为了更清晰 ...
- JQuery插件的学习
此前一直想就关于Jquery插件的开发,做一个深入的学习,由于各种原因,当然主要是自己太懒了...今天就系统分析一下Jquery插件的开发(参考了http://www.xprogrammer.com/ ...
- jQuery插件学习(一)
由于项目开发需要,经常会用到一些jquery插件,但网上已有的插件常常又不能100%满足业务需求,所以就想自己能看懂插件的代码,进行一些功能上的改动和补充,或者能自己自定义插件就更好了.所以这段时间会 ...
- 基于jquery的插件turn.js学习笔记
基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...
随机推荐
- Eclipse中JAR System library 没有怎么添加?
1.打开 >> Eclipse 2.右击项目 >> Build path >> Configure Build path 如图1: 图1 3.进入 ...
- 吐槽CodeDom
用着.NET Framework,发现了CodeDom的先天性缺陷,心里百般难受. 不知道 CodeDom 是什么的请看这里 CodeDom_百度百科 这里有CodeDom非常全的中文教程 CodeD ...
- [LeetCode] Read N Characters Given Read4 用Read4来读取N个字符
The API: int read4(char *buf) reads 4 characters at a time from a file.The return value is the actua ...
- [个人翻译]Redis 集群教程(上)
官方原文地址:https://redis.io/topics/cluster-tutorial 水平有限,如果您在阅读过程中发现有翻译的不合理的地方,请留言,我会尽快修改,谢谢. 这是 ...
- redis慢查询日志
运维需要记录一下主redis中那些“慢操作”的命令,然后找到相关的业务方,不然的话,阻塞 就不好玩了.然后就直接在redis手册中就找到了相关的命令. SLOWLOG subcommand [argu ...
- Codeforces Round #383(div 2)
A.快速幂 B. 题意:求ai^aj=x的数对个数,x和a[]给定 分析:a^b=c,则a^c=b,所以求ai^x=aj的个数,枚举一遍即可 C. 题意:给你一个有向图,每个点的出边只有一条,求最小的 ...
- 关于js的回调函数的一点看法
算了一下又有好几个月没写博客了,最近在忙公司android的项目,所以也就很少抽时间来写些东西了.刚闲下来,我就翻了翻之前看的东西.做了android之后更加感觉到手机端开发的重要性,现在做nativ ...
- 【教程】CDQ套CDQ——四维偏序问题
前言 上一篇文章已经介绍了简单的CDQ分治,包括经典的二维偏序和三维偏序问题,还有带修改和查询的二维/三维偏序问题.本文讲介绍多重CDQ分治的嵌套,即多维偏序问题. 四维偏序问题 给定N( ...
- Go语言常用命令介绍
go build go build 命令主要是用于测试编译.在包的编译过程中,若有必要,会同时编译与之相关联的包. 如果是普通包,当你执行go build命令后,不会产生任何文件. 如果是main包, ...
- 如何获取用户的真实IP
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了 Apache,Nagix等反向代理软件就不能获取到客户端的真实 ...