一看就會的jQuery外掛實現方法
外掛是對具體業務邏輯的一個針對性封裝,在程式碼層面,就是一個函式或者方法,按需呼叫。jQuery裡提供了兩種兩種型別的外掛實現方法。一個是擴充套件jQuery類方法,一個是擴充套件jQuery例項方法。下面 班給大家分享:一看就會的jQuery外掛實現方法:
jQuery類方法的擴充套件(jQuery.extend())
類方法是就jQuery自身的方法,如果foo是jQuery自身方法,就可以這樣呼叫$.foo();實現起來也超級簡單的,就跟平常給一個物件新增方法一樣:
jQuery.foo = function(){
console.log("我是jQuery類方法foo");
}
jQuery.foo();
在jQuery裡,專門提供了用於擴充套件類方法的寫法jQuery.extend(),可以一次擴充套件多個方法,用法如下:
$.extend({
fn1: function () {},
fn2: function () {},
});
$.fn1();
$.fn2();
$.fn3(); //報錯
jQuery例項方法的擴充套件(jQuery.fn.extend())
例項方法就是jQuery例項物件訪問的方法,我們知道,按照物件導向物件設計思想,例項訪問的方法通常是放到原型物件prototype上的。jQuery提供的用於擴充套件例項方法的寫法是$.fn.extend(),這就意味著有這樣一個等式關係成立:
jQuery.prototype === $.fn //true
所以我們只需把擴充套件的方法寫到$.fn.extend()的小括號裡即可:
$.fn.extend({
fn1:function(){},
fn2:function(){}
})
//jquery例項物件$("div")訪問情況
$("div").fn1();
$("div").fn2();
$("div").fn3(); //報錯
對jQuery例項方法的擴充套件,有一個需要我們注意的地方,就是引數。大家知道,引數的設計分為三種情況,那就是不帶引數,必傳引數,可選引數。接下來我們以一個高亮顯示的例子給大家演示下。
<!-- html結構 -->
<div>高亮顯示</div>
不帶引數
$.fn.extend({
highLight() {
//讓例項物件的背景顏色和文字顏色發生改變
//highLight是一個原型方法,this表示的是例項
this.css({ "background-color": "yellow", color: "red" });
return this;//形成鏈式呼叫
},
});
$("div").highLight().width("500px");//黃底紅字寬500
必傳引數
$.fn.extend({
highLight(bgColor, color) {
this.css({ "background-color": bgColor, color });
return this;
},
});
$("div").highLight("blue", "white").width("500px");//藍底白字寬500
可選引數,意思就是不傳就用預設的,傳參就用自定義的,
//多個引數逐一列出
$.fn.extend({
highLight(bgColor = "yellow", color = "red") {
this.css({ "background-color": bgColor, color });
return this;
},
});
$("div").highLight(); //黃底紅字
$("div").highLight("blue"); //藍底紅字
$("div").highLight("blue", "white"); //藍底白字
//一個引數物件
$.fn.extend({
highLight(opts) {
let defaults = { bgColor: "yellow", color: "red" }; //預設值
//取到實際的值 options
let options = $.extend({}, defaults, opts);//將一個或多個源物件複製給目標物件
this.css({
"background-color": options.bgColor,
color: options.color,
});
return this;
},
});
$("div").highLight();//黃底紅字
$("div").highLight({ bgColor: "blue"});//藍底紅字
$("div").highLight({ bgColor: "blue", color: "white" });//藍底白字
怎麼樣,是不是超級簡單!如果想要更多學習資料歡迎來長沙千鋒官網諮詢領取。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2838615/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- jQuery實現的cookie操作外掛jQueryCookie
- JQuery外掛定義&&談談jquery的實現jQuery
- jQuery實現的元素抖動外掛jQuery
- 不定義 jQuery 外掛,不要說會 jQueryjQuery
- jquery外掛開發方法jQuery
- jquery實現的全選和刪除功能外掛jQuery
- jQuery LightBox外掛原理的簡單實現jQuery
- Stickup – 輕鬆實現元素固定效果的 jQuery 外掛jQuery
- 編寫基於jQuery的外掛的方法jQuery
- jquery的zclip外掛實現複製文字到剪下板jQuery
- jquery實現的垂直或者水平無縫滾動外掛jQuery
- 幫助你實現響應式導航的 jQuery 外掛jQuery
- 你還不會建立jQuery外掛 ?薦jQuery
- jQuery外掛jQuery
- jQuery的外掛列表jQuery
- 精美實用的jQuery外掛精選jQuery
- 一看就會的egret入門教程
- 一看就會的 egret 入門教程
- 掌握jQuery外掛開發,這篇文章就夠了jQuery
- 實現會員制功能的WordPress外掛-Simple Membership
- jQuery上傳外掛Uploadify的使用方法jQuery
- jquery 外掛站jQuery
- 13款精彩實用的最新jQuery外掛jQuery
- 15個超級實用的jQuery外掛jQuery
- PHP外掛系統的實現(七):外掛案例PHP
- JQuery模板外掛-jquery.tmpljQuery
- 實用的 jQuery下拉選擇框外掛集合jQuery
- 8個超實用的jQuery外掛應用jQuery
- 27款很實用的 jQuery 表單外掛jQuery
- Java 8 Lambda表示式一看就會Java
- PHP外掛系統的實現(五):觸發外掛PHP
- jquery外掛實現圖片可拖動的購物車程式碼jQuery
- 實現 Amazon 超快反應速度下拉選單的 jQuery 外掛jQuery
- JQuery蜂巢圖外掛jQuery
- jQuery外掛推薦jQuery
- jquery分頁外掛jQuery
- jquery外掛寫法jQuery
- 15 個最新的 jQuery外掛jQuery