资源描述:
《1、扩展jquery自身之全局函数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、扩展jQuery自身之全局函数jQuery.logError={/*logerror*/}jQuery.logWarning={/*logwarning*/}jQuery.logDebug={/*logdebug*/}使用:jQuery.logError();上面三个可以写成jQuery.log={Error:function(){/*logerror*/},Warning:function(){/*logwarning*/},Debug:function(){/*logdebug*/}}使用:jQuery.log.Error();jQuery.foobar={/*dofooba
2、r*/}使用:jQuery.foobar();以上的方法等同于使用jQuery.extend()jQuery.extend={log:{Error:function(){/*logerror*/},Warning:function(){/*logwarning*/},Debug:function(){/*logdebug*/}},foobar:function(){/*dofoobar*/}}使用:jQuery.log.Error();jQuery.foobar();2、添加实例方法,扩展jQuery.fnjQuery.fn=jQuery.prototype如:jQuery.fn.s
3、howMessage=function(){alert(“message!!”)}使用:$(“#div1”).showMessage();lthis是对当前jQuery对象的引用l使用each迭代当前对象l插件方法必须返回一个jQuery对象Plugme:制作自己的插件写一个自己的jQuery插件是非常容易的,如果你按照下面的原则来做,可以让其他人也容易地结合使用你的插件.1.为你的插件取一个名字,在这个例子里面我们叫它"foobar".2.创建一个像这样的文件:jquery.[yourpluginname].js,比如我们创建一个jquery.foobar.js3.创建一个或更多的
4、插件方法,使用继承jQuery对象的方式,如:jQuery.fn.foobar=function(){//dosomething};4.可选的:创建一个用于帮助说明的函数,如:jQuery.fooBar={height:5,calculateBar=function(){...},checkDependencies=function(){...}};你现在可以在你的插件中使用这些帮助函数了:jQuery.fn.foobar=function(){//dosomethingjQuery.foobar.checkDependencies(value);//dosomethingelse}
5、;5.可选的l:创建一个默认的初始参数配置,这些配置也可以由用户自行设定,如:jQuery.fn.foobar=function(options){varsettings={value:5,name:"pete",bar:655};if(options){jQuery.extend(settings,options);}};现在可以无需做任何配置地使用插件了,默认的参数在此时生效:$("...").foobar();或者加入这些参数定义:$("...").foobar({value:123,bar:9});如果你release你的插件,你还应该提供一些例子和文档,大部分的插件都具备这
6、些良好的参考文档.现在你应该有了写一个插件的基础,让我们试着用这些知识写一个自己的插件.很多人试着控制所有的radio或者checkbox是否被选中,比如:$("input[@type='checkbox']").each(function(){this.checked=true;//or,touncheckthis.checked=false;//or,totogglethis.checked=!this.checked;});无论何时候,当你的代码出现each时,你应该重写上面的代码来构造一个插件,很直接地:$.fn.check=function(){returnthis.eac
7、h(function(){this.checked=true;});};这个插件现在可以这样用:$("input[@type='checkbox']").check();现在你应该还可以写出uncheck()和toggleCheck()了.但是先停一下,让我们的插件接收一些参数.$.fn.check=function(mode){varmode=mode
8、
9、'on';//ifmodeisundefined,use'on'asdefaultreturnthi