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