jQuery如何製作自定義外掛
儘管jQuery已經提供了豐富的功能,能夠滿足基本的需要,但是並不能夠滿足所有的需要,所以有時候需要根據實際需要自定義一些具有特定功能的外掛,下面就來介紹一下如何製作一個自定義的jQuery外掛。
一.製作外掛必用的兩個函式:
[JavaScript] 純文字檢視 複製程式碼$.extend(object)//為jQuery新增一個靜態函式。 $.fn.extend(object)//為jQuery新增一個例項函式。
靜態函式和例項函式簡單介紹:
1.靜態函式:所謂靜態函式就是直接使用jQuery呼叫的函式,例如:
[JavaScript] 純文字檢視 複製程式碼jQuery.grep()
2.例項函式:所謂例項函式就是需要物件例項呼叫的函式,例如:
[JavaScript] 純文字檢視 複製程式碼$("#id").hide()
二.製作簡單的外掛:
1.自定義靜態函式:
[JavaScript] 純文字檢視 複製程式碼$.extend({func:function(){ alert("自定義靜態函式"); }}); $.fun();
以上程式碼為jQuery新增了一個靜態函式。
2.自定義例項函式:
[JavaScript] 純文字檢視 複製程式碼$.fn.extend({func:function(){ alert("自定義例項函式"); }}); $("#id").func();
三.外掛完善:
1.步驟一:
在很多外掛中,都有(function ($) { })(jQuery)這個結構的身影,下面介紹一下它的用法。
它定義個一個匿名函式,jQuery是此函式實參,在外掛中具有很重要的作用。一般說來,要將外掛的程式碼放置於一個不受干擾的環境中,也就是為這個外掛頂一個私有作用域,外部的程式碼不能直接訪問外掛內部的程式碼,外掛內部的程式碼不汙染全域性變數。
2.步驟二:
如果新增的函式需要新增引數的話,一般會給這個函式設定一個預設的值,如果沒有傳參,就使用預設值,下面就介紹一下如何設定預設值,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼(function($){ $.fn.setbgColor=function(option){ var defaultOption={backgroundColor:"green"} var newSettings={backgroundColor:option} $.extend(defaultOption,newSettings); var bgColor=defaultOption.backgroundColor; this.each(function(){ $(this).css("backgroundColor",bgColor); }) } })(jQuery);
以上程式碼可以讓setbgColor()函式的預設值為"green",主要利用到了 $.extend()函式,這裡就不介紹了,具體可以參閱$.extend()函式用法詳解一章節。
3.步驟三:
上面的外掛已經比較好用了,但是還不夠完美,鏈式呼叫是jQuery的一大便利之處,所以再這裡將外掛實現鏈式呼叫功能。
程式碼如下:
[JavaScript] 純文字檢視 複製程式碼(function($){ $.fn.setbgColor=function(option){ var defaultOption={backgroundColor:"green"} var newSettings={backgroundColor:option} $.extend(defaultOption,newSettings); var bgColor=defaultOption.backgroundColor; return this.each(function(){ $(this).css("backgroundColor",bgColor); }) } })(jQuery);
以上程式碼就可以實現鏈式呼叫效果了,因為each()函式是具有鏈式呼叫效果的,那麼它的返回值一定是jQuery物件,所以使用return返回jQuery物件就可以實現了。
相關文章
- 自定義jquery外掛簡單介紹jQuery
- jQuery自定義外掛簡單介紹jQuery
- jQuery外掛製作簡單介紹jQuery
- 如何製作 Sketch 外掛
- mybatis 自定義外掛MyBatis
- 10個很棒的 jQuery 外掛和製作教程jQuery
- APISIX Ingress 如何支援自定義外掛API
- Jquery外掛Nicescroll 製作漂亮的滾動條jQuery
- gradle自定義外掛Gradle
- 不定義 jQuery 外掛,不要說會 jQueryjQuery
- vue自定義全域性元件(或自定義外掛)Vue元件
- jquery 擴充套件方法($.fn.extend/$.extend) 自定義外掛 拖拽jQuery套件
- 網頁外掛製作網頁
- WM自定義桌面"今日外掛"
- es 自定義分詞外掛分詞
- apisix~自定義外掛的部署API
- 製作一個超簡單的全屏外掛(基於JQuery)jQuery
- 自定義Gradle-Plugin 外掛GradlePlugin
- Kube-Scheduler外掛的自定義
- Cordova學習--iOS自定義外掛iOS
- Gradle自定義外掛詳解Gradle
- gulp進階-自定義gulp外掛
- 【django學習-24】自定義外掛Django
- JQuery外掛定義&&談談jquery的實現jQuery
- php短視訊原始碼,jQuery實現自定義輪播圖外掛PHP原始碼jQuery
- WINFORM自定義皮膚製作(上)ORM
- 「12步」製作 Laravel 外掛 (一)Laravel
- jQuery中cookie外掛如何使用jQueryCookie
- gradle自定義任務和外掛Gradle
- 快速自定義Cordova外掛(-配置檔案)
- 二 阿里大模型接入:自定義外掛阿里大模型
- apisix-dashboard上新增自定義外掛API
- Smint – 用於單頁網站製作 jQuery導航選單外掛網站jQuery
- [-Flutter外掛篇 1-] 從自定義外掛開始說起Flutter
- jQuery外掛jQuery
- 【Jquery】jquery 自定義動畫jQuery動畫
- flutter使用platform-channels製作外掛FlutterPlatform
- npm製作外掛、釋出及更新NPM