真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

jQuery自定義函數(shù)怎么用

這篇文章主要介紹了jQuery自定義函數(shù)怎么用,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站開(kāi)發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),成都響應(yīng)式網(wǎng)站建設(shè)公司,網(wǎng)頁(yè)設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務(wù)。歡迎咨詢做網(wǎng)站需要多少錢:13518219792

jQuery自定義函數(shù)
1.  如何擴(kuò)展jQuery函數(shù)?
jQuery有兩種自定義函數(shù)擴(kuò)展:一種是類級(jí)別的函數(shù)開(kāi)發(fā),相當(dāng)于將jQuery看做一個(gè)類,給類本身擴(kuò)展函數(shù),也叫作全局函數(shù),。jQuery的全局函數(shù)是屬于jQuery命名空間的函數(shù),另一種是對(duì)象級(jí)別的函數(shù)開(kāi)發(fā),即給jQuery選擇器產(chǎn)生的對(duì)象添加方法。下面就兩種函數(shù)的開(kāi)發(fā)做詳細(xì)的說(shuō)明。

1).全局函數(shù)開(kāi)發(fā):
類級(jí)別的插件開(kāi)發(fā)最直接的理解就是給jQuery類添加類方法,可以理解為添加靜態(tài)方法。典型的例子就是jQuery.AJAX()這個(gè)函數(shù),將函數(shù)定義于jQuery的命名空間中。關(guān)于類級(jí)別的插件開(kāi)發(fā)可以采用如下幾種形式進(jìn)行擴(kuò)展:
a. 添加一個(gè)新的全局函數(shù)
添加一個(gè)全局函數(shù),我們只需如下定義:

   jQuery.test = function() { 
        alert(‘This is a test!!!’); 
     };

然后通過(guò)調(diào)用$.test();即可運(yùn)行。
b. 增加多個(gè)全局函數(shù)
添加多個(gè)全局函數(shù),可采用如下定義:

  jQuery.test = function() { 
        alert(‘This is a test!!!’); 
     };  
     jQuery.test1 = function() { 
            alert(‘This is a test1!!!’); 
         };

調(diào)用方式跟上面一樣。

c. 使用jQuery.extend(object) 

jQuery.extend({ 
         test:function() { 
                alert(‘This is a test!!!’); 
         }, 
         test1: function() { 
                alert(‘This is a test1!!!’); 
             },  
         add:function(a,b){ 
             return a+b; 
         } 
});

2).對(duì)象級(jí)別函數(shù)開(kāi)發(fā):
對(duì)象級(jí)別的函數(shù)開(kāi)發(fā)可以有如下兩種方式
a.

(function(){
.fn.extend({ 
              sayHello:function(){ 
                    alert(‘sayHello’); 
            } 
            }) ; 
          })(jQuery);

說(shuō)明:該方式也可以直接用jQuery.fn.extend定義,這樣寫是為了將美元符號(hào)限制在一個(gè)命名空間內(nèi),定義過(guò)程中可以繼續(xù)使用該符號(hào),防止與其他庫(kù)的$符號(hào)沖突,沒(méi)有其他作用。

b. 接受options參數(shù)以控制插件的行為
當(dāng)自定義函數(shù)需要傳遞很多參數(shù)的時(shí)候,參數(shù)過(guò)多,可讀性較差,我們可以考慮傳遞一個(gè)對(duì)象,比方說(shuō),我們要定義一個(gè)給p設(shè)置背景色和文字顏色的函數(shù),可以這樣寫:

 $.fn.extend({ 
             setColor:function(options,callback){ 
               var defaults = { 
                               fontcolor: ‘red’, 
                               background: ‘yellow’ 
                             };
            $.extend(defaults, options); //這句話是將default和options合并成一個(gè)對(duì)象
            //設(shè)置樣式
            console.log(this);
            $(this).css('background-color',defaults.background);
            $(this).css('color',defaults.fontcolor);
        }     
        }) ;

調(diào)用函數(shù)測(cè)試代碼:

       var options={ 
                   fontcolor: ‘blue’, 
                   background: ‘red’  
                   }; 
       $(function(){
        $(".table").setColor(options);
    });

我們會(huì)看到table背景紅色,字體都為藍(lán)色。
jQuery自定義函數(shù)怎么用
2.  分析總結(jié)
jQuery的API手冊(cè)中,我們看到,extend實(shí)際上是掛載在jQuery和jQuery.fn上的兩個(gè)不同方法,盡管在jQuery內(nèi)部jQuery.extend()和jQuery.fn.extend()是用相同的代碼實(shí)現(xiàn)的,但是它們的功能卻不太一樣。官方的解釋:

jQuery.extend(): Merge the contents of two or more objects together into the first object.(把兩個(gè)或者更多的對(duì)象合并到第一個(gè)當(dāng)中) 
jQuery.fn.extend():Merge the contents of an object onto the jQuery prototype to provide new jQuery instance methods.(把對(duì)象掛載到j(luò)Query的prototype屬性,來(lái)擴(kuò)展一個(gè)新的

jQuery實(shí)例方法)
可以看出,jQuery有靜態(tài)方法和實(shí)例方法之分, 那么jQuery.extend()和jQuery.fn.extend()的區(qū)別就是一個(gè)用來(lái)擴(kuò)展靜態(tài)方法,一個(gè)用來(lái)擴(kuò)展實(shí)例方法。
jQuery自定義部分源碼如下:

jQuery.extend = jQuery.fn.extend = function(obj){ 
             //obj是傳遞過(guò)來(lái)擴(kuò)展到this上的對(duì)象 
             var target=this; 
             for (var name in obj){ 
             //name為對(duì)象屬性 
             //copy為屬性值 
             copy=obj[name]; 
             //防止循環(huán)調(diào)用 
             if(target === copy) continue; 
             //防止附加未定義值 
             if(typeof copy === ‘undefined’) continue; 
             //賦值 
             target[name]=copy; 
             } 
             return target; 
            }

JavaScript方法也是對(duì)象,所以所謂的擴(kuò)展函數(shù),也即是給jQuery.extend, jQuery.fn.extend這兩個(gè)對(duì)象擴(kuò)展新的屬性,形參就是我們自定義的函數(shù),最后會(huì)被拷貝成為target對(duì)象返回,并合并到j(luò)Query.extend對(duì)象,或者jQuery.fn.extend對(duì)象中,本質(zhì)上就是相當(dāng)于給jQuery類本身增加方法或者給jQuery對(duì)象的prototype對(duì)象增加方法。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“jQuery自定義函數(shù)怎么用”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!


本文名稱:jQuery自定義函數(shù)怎么用
文章URL:http://weahome.cn/article/pscpih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部