資源描述:
《擴(kuò)展jquery自身之全局函數(shù)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、1、擴(kuò)展jQuery自身之全局函數(shù)jQuery.logError={/*logerror*/}jQuery.logWarning={/*logwarning*/}jQuery.logDebug={/*logdebug*/}使用:jQuery.logError();上面三個(gè)可以寫成jQuery.log={Error:function(){/*logerror*/},Warning:function(){/*logwarning*/},Debug:function(){/*logdebug*/}}使用:jQuery.log.Error();jQu
2、ery.foobar={/*dofoobar*/}使用: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、添加實(shí)例方法,擴(kuò)展jQuery
3、.fnjQuery.fn=jQuery.prototype如:jQuery.fn.showMessage=function(){alert(“message!!”)}使用:$(“#div1”).showMessage();lthis是對當(dāng)前jQuery對象的引用l使用each迭代當(dāng)前對象l插件方法必須返回一個(gè)jQuery對象Plugme:制作自己的插件寫一個(gè)自己的jQuery插件是非常容易的,如果你按照下面的原則來做,可以讓其他人也容易地結(jié)合使用你的插件.1.為你的插件取一個(gè)名字,在這個(gè)例子里面我們叫它"foobar".2.創(chuàng)建一個(gè)像這樣的文
4、件:jquery.[yourpluginname].js,比如我們創(chuàng)建一個(gè)jquery.foobar.js3.創(chuàng)建一個(gè)或更多的插件方法,使用繼承jQuery對象的方式,如:jQuery.fn.foobar=function(){//dosomething};4.可選的:創(chuàng)建一個(gè)用于幫助說明的函數(shù),如:jQuery.fooBar={height:5,calculateBar=function(){...},checkDependencies=function(){...}};你現(xiàn)在可以在你的插件中使用這些幫助函數(shù)了:jQuery.fn.foob
5、ar=function(){//dosomethingjQuery.foobar.checkDependencies(value);//dosomethingelse};5.可選的l:創(chuàng)建一個(gè)默認(rèn)的初始參數(shù)配置,這些配置也可以由用戶自行設(shè)定,如:jQuery.fn.foobar=function(options){varsettings={value:5,name:"pete",bar:655};if(options){jQuery.extend(settings,options);}};現(xiàn)在可以無需做任何配置地使用插件了,默認(rèn)的參數(shù)在此時(shí)生
6、效:$("...").foobar();或者加入這些參數(shù)定義:$("...").foobar({value:123,bar:9});如果你release你的插件,你還應(yīng)該提供一些例子和文檔,大部分的插件都具備這些良好的參考文檔.現(xiàn)在你應(yīng)該有了寫一個(gè)插件的基礎(chǔ),讓我們試著用這些知識寫一個(gè)自己的插件.很多人試著控制所有的radio或者checkbox是否被選中,比如:$("input[@type='checkbox']").each(function(){this.checked=true;//or,touncheckthis.checked=f
7、alse;//or,totogglethis.checked=!this.checked;});無論何時(shí)候,當(dāng)你的代碼出現(xiàn)each時(shí),你應(yīng)該重寫上面的代碼來構(gòu)造一個(gè)插件,很直接地:$.fn.check=function(){returnthis.each(function(){this.checked=true;});};這個(gè)插件現(xiàn)在可以這樣用:$("input[@type='checkbox']").check();現(xiàn)在你應(yīng)該還可以寫出uncheck()和toggleCheck()了.但是先停一下,讓我們的插件接收一些參數(shù).$.fn.che
8、ck=function(mode){varmode=mode
9、
10、'on';//ifmodeisundefined,use'on'asdefaultreturnthi