国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery 插件開發指南

2024-05-06 16:10:40
字體:
來源:轉載
供稿:網友
jQuery憑借其簡潔的API,對DOM強大的操控性,易擴展性越來越受到web開發人員的喜愛,經常有人詢問一些技巧,因此干脆寫這么一篇文章給各位jQuery愛好者,算是拋磚引玉吧。
 
 

那么首先我們來簡單的看一下最正統的 jQuery 插件定義方式:

 

復制代碼代碼如下:

(function ($) {     
$.fn.插件名 = function (settings) {         
//默認參數         
var defaultSettings = {
 
        }         /* 合并默認參數和用戶自定義參數 */        
 
settings = $.extend(defaultSettings, settings);
 
return this.each(function () {             //代碼         });   //插件在元素內多次出現
 
} })(jQuery);

 
先來看模板中的第一行代碼(當然我們要把這一行代碼的后半部分給揪出來一起看,不然第一行就完全無意義了):

 

 

復制代碼代碼如下:

(function ($) {
 
})(jQuery);

 

 這行代碼其實是用于創建一個匿名函數。如果你對匿名函數和閉包不了解,將會對這種代碼非常疑惑,那么強烈建議您閱讀【詳談JavaScript 匿名函數及閉包】這篇文章。

jQuery 的繼承方法 $.extend —— $.extend 在jQuery 插件開發中有個很重要的作用,就是用于合并參數。

 

復制代碼代碼如下:

$.fn.tip = function (settings) {     
var defaultSettings = {            
//顏色     
color: 'yellow',        
//延遲        
timeout: 200     }
 /* 合并默認參數和用戶自定義參數 */   
settings = $.extend(defaultSettings, settings);    
alert(settings.input); <br>}

 

 jQuery 插件定義第二種方式:

 

復制代碼代碼如下:

(function ($) {
    //插件定義--更換名字
    $.fn.tabpanel = function (method) {
        var methods = $.fn.tabpanel.methods;
        if (methods[method]) {
            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
        } else if (typeof method === 'object' || !method) {
            return methods.init.apply(this, arguments);
        } else {
 
        }
    }
    //支持的方法
    $.fn.tabpanel.methods =
    {
        //初始化
        init: function (p_options) {
            tabpanelBind(p_options, this);
        },
        add: function (p_options) {
            addTab(p_options, this);
            tabpanelBind(p_options, this);
            // debugger
        }    }
    function add(p_options) {
        var _defaults = {
            id: ""
        }
    <br>    //內部實現略.........<br>        return _index;
    }
<br>})(jQuery);<br><br>調用  $("#team").tabpanel('add',"");

 

好了,上面介紹的這2種開發方式都是最常用的,小伙伴們先好好學習下吧,后續我們再介紹的更深入些


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 锦屏县| 格尔木市| 兴和县| 康乐县| 卓尼县| 云霄县| 芜湖县| 靖西县| 正蓝旗| 隆安县| 兴业县| 宣化县| 遵义市| 颍上县| 夏河县| 沾益县| 陵水| 石柱| 衡阳市| 平邑县| 七台河市| 长沙县| 秭归县| 瑞安市| 山东省| 正宁县| 淮阳县| 瑞丽市| 饶河县| 渝北区| 凌海市| 鄂尔多斯市| 松滋市| 漯河市| 崇阳县| 荔浦县| 图们市| 西平县| 色达县| 抚顺市| 姚安县|