<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • jQuery插件制作之全局函數(shù)使用方法

    時(shí)間:2024-11-05 18:34:54 jQuery 我要投稿
    • 相關(guān)推薦

    jQuery插件制作之全局函數(shù)使用方法

      1、添加新的全局函數(shù)

      所謂的全局函數(shù),實(shí)際上就是jQuery對(duì)象的方法,但從實(shí)踐的角度上看,他們是位于jQuery命名空間內(nèi)部的函數(shù)

      (1)添加一個(gè)函數(shù),只需要將新函數(shù)指定為jQuery對(duì)象的一個(gè)屬性。

      jQuery.five =function(){ alert("直接繼承方式不一樣"); }

      調(diào)用:復(fù)制代碼 代碼如下:$.five();

      (2)添加多個(gè)函數(shù)

      jQuery.five =function(){ alert("直接繼承方式不一樣"); } jQuery.six =function(){ alert("直接繼承方式不一樣2"); }

      調(diào)用:復(fù)制代碼 代碼如下:$.five();$.six();

      以上的方法會(huì)面臨命名空間沖突的風(fēng)險(xiǎn),為避免這個(gè)問題,最好把屬于這個(gè)插件的所有全局函數(shù),都封裝到一個(gè)對(duì)象中,如下:

      //命名空間繼承 jQuery.myPlugin ={ one : function(obj){ var object = obj; var id = object.attr("id"); alert(id); }, two : function(){ alert(22); } }

      這樣其實(shí)是為全局函數(shù)創(chuàng)建了另一個(gè)命名空間:jQuery.myPlugin.

      2、添加jQuery對(duì)象方法

      jQuery中大多數(shù)內(nèi)置的功能都是通過其對(duì)象的方法提供的。

      jQuery.fn.myMethod= function(){ alert(11); }

      調(diào)用:復(fù)制代碼 代碼如下:$.fn.myMethod();

      注意:jQuery.fn是jQuery.prototype的別名。

      實(shí)例:以下是行為不正確的方法

      11111111111111111111111111

      22222222222222222222

      333333333333333

      4444444444444444455555555555555

      6666666666666666

      777777777777777777

      777777777777777777

      jQuery.fn.swapClass= function(class1,class2){ if(this.hasClass(class1)){ this.removeClass(class1).addClass(class2); } if(this.hasClass(class2)){ this.removeClass(class2).addClass(class1); } } $("#swap").click(function(){ $("li").swapClass("this","that"); return false; })

      全部li都是用了that樣式。

      (1)隱士迭代

      要在無論匹配多個(gè)元素的情況下都保證行為的正確,最簡單的方法是始終在方法的環(huán)境上調(diào)用.each()方法,這樣就會(huì)

      執(zhí)行隱士迭代,而執(zhí)行隱士迭代對(duì)于維護(hù)插件和內(nèi)置方法的一致性是至關(guān)重要的,在調(diào)用的.each()方法內(nèi)部,this

      依次引用的是每個(gè)DOM元素.以上代碼修改為:

      jQuery.fn.swapClass= function(class1,class2){ this.each(function(){ var $element = jQuery(this); if($element.hasClass(class1)){ $element.removeClass(class1).addClass(class2); }else if($element.hasClass(class2)){ $element.removeClass(class2).addClass(class1); } }) }

      調(diào)用:

      復(fù)制代碼 代碼如下:$("li").swapClass("this","that")

      (2)方法的連綴

      要使用方法的連綴,必須在所有的插件方法中返回一個(gè)jQuery對(duì)象。返回的jQuery對(duì)象通常就是this所引用的對(duì)象。

      jQuery.fn.swapClass= function(class1,class2){ return this.each(function(){ var $element = jQuery(this); if($element.hasClass(class1)){ $element.removeClass(class1).addClass(class2); }else if($element.hasClass(class2)){ $element.removeClass(class2).addClass(class1); } }) }

      調(diào)用:

      復(fù)制代碼 代碼如下:$("li").swapClass("this","that").css("text-decoration","underline");

      3、添加新的簡寫方法

      //添加新的簡寫方法 jQuery.fn.slideFadeOut= function(speed,callback){ return this.animate({ height : "hide", opacity : "hide" },speed,callback) } jQuery.fn.slideFadeIn= function(speed,callback){ return this.animate({ height : "show", opacity : "show" },speed,callback) } jQuery.fn.slideFadeToggle= function(speed,callback){ return this.animate({ height : "toggle", opacity : "toggle" },speed,callback) }

    【jQuery插件制作之全局函數(shù)使用方法】相關(guān)文章:

    淺析jQuery 遍歷函數(shù)javascript08-06

    jQuery 源碼分析和Ready函數(shù)06-28

    excel中if函數(shù)的使用方法10-24

    excel常用函數(shù)使用方法04-26

    asp.net+jquery Jsonp使用方法介紹08-23

    vlookup函數(shù)在Excel中的使用方法09-21

    Excel中vlookup函數(shù)使用方法02-17

    excel中now函數(shù)的使用方法05-25

    excel四舍五入函數(shù)使用方法06-11

    jquery之超簡單的div顯示和隱藏特效demo簡介05-15

    主站蜘蛛池模板: 国产成人精品久久| 国产女主播精品大秀系列| 精品午夜福利在线观看| 亚洲国产另类久久久精品黑人| 青青热久久国产久精品 | 亚洲情侣偷拍精品| 无码人妻精品中文字幕免费| 日本国产精品久久| 国产在线观看高清精品| 精品熟女少妇aⅴ免费久久| 日韩精品人妻av一区二区三区| 亚洲精品乱码久久久久久中文字幕| 蜜芽亚洲av无码精品色午夜| .精品久久久麻豆国产精品| 久久九九亚洲精品| 久久精品成人一区二区三区| 亚洲精品无码mv在线观看网站| 国产精品99久久99久久久| 亚洲精品欧美综合| 亚洲国产精品福利片在线观看| 99免费精品视频| 欧美ppypp精品一区二区| 欧美精品一本久久男人的天堂| 久久精品国产精品青草app| 热综合一本伊人久久精品| 国产精品内射后入合集| 国产精品视频一区二区三区不卡| 亚洲国产精品人人做人人爱| jizzjizz国产精品久久| 蜜臀AV无码国产精品色午夜麻豆 | 国产精品自在在线午夜福利| 国产精品亚洲片在线观看不卡| 国产午夜精品理论片免费观看| 日韩精品人妻系列无码专区免费| 国产精品白丝AV嫩草影院| 99re久久精品国产首页2020| 国产偷国产偷高清精品| 久久99精品久久久久久hb无码| 久久精品无码专区免费| 久久国产精品99精品国产987| 老汉精品免费AV在线播放|