最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一步一步教你寫一個jQuery的插件教程(Plugin)

 更新時間:2009年09月03日 02:10:54   作者:  
我將會在下面的例子中一個一個的說明上面這幾個條件,做完這些事情后我們就會創(chuàng)建一個高亮顯示text的簡單插件。

jQuery 的plugin開發(fā)需要注意的事情,
1.       明確jQuery的命名空間只有一個。
2.       明白options參數(shù)用來控制plugin的行為。
3.       為默認的plugin設定提供公共的訪問權限。
4.       為子函數(shù)提供公共的訪問權限。
5.       私有的函數(shù)絕對是私有訪問
6.       支持metadata plugin。
我將會在下面的例子中一個一個的說明上面這幾個條件,做完這些事情后我們就會創(chuàng)建一個高亮顯示text的簡單插件。

1. 明確jQuery的命名空間只有一個

在我們的例子里,我們將會命名這個插件名字為hilight,

也就是我們的plugin可以通過下面的方法來使用:

為什么jQuery的plugin只有一個命名空間?可能是設計的要求,或者是這樣的話可讀性更強,亦或是為了面向對象的設計模式。

2.明白options參數(shù)來控制plugin的行為。

  讓我們先為我們的hilight插件明確一下foreground和background的顏色。我們應該能夠允許這兩個option作為option對象傳遞給plugin的主函數(shù)。例如:

現(xiàn)在插件能夠設定如下的屬性:

3. 為默認的plugin設定提供公共的訪問權限。

   我們這里可以改進一下,就是讓上面的代碼能夠設置能夠擴展。這樣當使用這個插件的用戶能夠使用最少的代碼重載我們的option。這也就是我們開始使用function對象的好處。

現(xiàn)在用戶可以在他們的script中使用一行代碼來設置foreground屬性:

有了上面的代碼我們就可以把某個DOM控件的foregrounf顏色設定為blue了。

4. 為子函數(shù)提供公共的訪問權限

   這個條款和上面的相仿,能很有趣的讓你的Plugin有擴展功能。例如:在lilight的plugin中我們能夠定義一個function是format,可以定義hilight的text的形式。我們的plugin代碼將會顯示如下:

這里我們可以很容易支持另外的一個option對象來通過一個callback 函數(shù)來重載默認的formatting。那將會是另外一個不錯的支持自定義的方式。

5. 私有的函數(shù)絕對是私有訪問

   公開plugin的一些Option能夠被自定義當然是個非常強大的功能。但是你需要考慮哪部分應該被公開,哪部分不應該通過外部訪問,否則會破會你已經(jīng)封裝好的結果。

  這里debug方法不能從外部訪問,因為他在plugin的展現(xiàn)中屬于私有的方法。

6.支持metadata plugin。

  使用Metadata Plugin需要看你的plugin是什么類型,可能它會使你的插件功能更加強大。個人來說,我比較喜歡metadata plugin是因為它能偶讓我的plguin的option通過標記重載。

  如果metadata plugin能夠成功的封裝到我們的插件,那么可以通過下面的標記來使用這個lilight插件。

 最終代碼如下:

復制代碼 代碼如下:

//
// create closure
//
(function($) {
//
// plugin definition
//
$.fn.hilight = function(options) {
debug(this);
// build main options before element iteration
var opts = $.extend({}, $.fn.hilight.defaults, options);
// iterate and reformat each matched element
return this.each(function() {
$this = $(this);
// build element specific options
var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
// update element styles
$this.css({
backgroundColor: o.background,
color: o.foreground
});
var markup = $this.html();
// call our format function
markup = $.fn.hilight.format(markup);
$this.html(markup);
});
};
//
// private function for debugging
//
function debug($obj) {
if (window.console && window.console.log)
window.console.log('hilight selection count: ' + $obj.size());
};
//
// define and expose our format function
//
$.fn.hilight.format = function(txt) {
return '<strong>' + txt + '</strong>';
};
//
// plugin defaults
//
$.fn.hilight.defaults = {
foreground: 'red',
background: 'yellow'
};
//
// end of closure
//
})(jQuery);

相關文章

  • jQuery使用正則驗證15/18身份證的方法示例

    jQuery使用正則驗證15/18身份證的方法示例

    這篇文章主要介紹了jQuery使用正則驗證15/18身份證的方法,涉及jQuery基于正則進行數(shù)字字符串驗證相關操作技巧,需要的朋友可以參考下
    2017-04-04
  • jQuery實現(xiàn)設置、移除文本框默認值功能

    jQuery實現(xiàn)設置、移除文本框默認值功能

    這篇文章主要介紹了jQuery實現(xiàn)設置、移除文本框默認值功能,本文實現(xiàn)是類似html5 placeholder(空白提示)效果,正常時文本框有提示文字,當文本框獲得焦點時變?yōu)榭瞻?需要的朋友可以參考下
    2015-01-01
  • 30個最好的jQuery 燈箱插件分享

    30個最好的jQuery 燈箱插件分享

    下面介紹30個最好的jQuery Lightbox 插件,別忘了收藏它,以防未來的設計中錯過它們中的一個。
    2011-04-04
  • jQuery簡單實現(xiàn)仿京東商城的左側菜單效果代碼

    jQuery簡單實現(xiàn)仿京東商城的左側菜單效果代碼

    這篇文章主要介紹了jQuery簡單實現(xiàn)仿京東商城的左側菜單效果代碼,通過簡單的jQuery鼠標事件及元素動態(tài)變換實現(xiàn)樣式動態(tài)切換功能,非常簡單實用,需要的朋友可以參考下
    2015-09-09
  • jQuery插件開發(fā)基礎簡單介紹

    jQuery插件開發(fā)基礎簡單介紹

    jquery插件開發(fā)基礎:開發(fā)jQuery 插件的基本格式,開發(fā)全局函數(shù)的基本格式,接下來為您詳細介紹,感興趣的朋友可以了解哦
    2013-01-01
  • 解決ajax不能訪問本地文件問題(利用js跨域原理)

    解決ajax不能訪問本地文件問題(利用js跨域原理)

    本篇文章主要介紹了解決ajax不能訪問本地文件問題(利用js跨域原理),具有一定的參考價值,有興趣的可以了解一下。
    2017-01-01
  • jquery取消事件冒泡的三種方法(推薦)

    jquery取消事件冒泡的三種方法(推薦)

    下面小編就為大家?guī)硪黄猨query取消事件冒泡的三種方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • layui彈出層效果實現(xiàn)代碼

    layui彈出層效果實現(xiàn)代碼

    layer是一款近年來備受青睞的web彈層組件,這篇文章主要介紹了layui彈出層效果的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • JQuery標簽頁效果實例詳解

    JQuery標簽頁效果實例詳解

    這篇文章主要介紹了JQuery標簽頁效果,結合實例形式較為詳細的分析了jQuery響應鼠標事件動態(tài)遍歷及切換標簽頁的技巧,需要的朋友可以參考下
    2015-12-12
  • 終于實現(xiàn)了!精彩的jquery彈幕效果

    終于實現(xiàn)了!精彩的jquery彈幕效果

    終于實現(xiàn)精彩的jquery彈幕效果了,這篇文章就為大家詳細介紹了jquery彈幕效果的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07

最新評論

宁波市| 高唐县| 申扎县| 高阳县| 呼玛县| 德庆县| 德州市| 山东省| 镇坪县| 丹棱县| 余庆县| 桃园市| 行唐县| 沙河市| 盐边县| 金沙县| 开原市| 黄陵县| 肃宁县| 鹿泉市| 嵩明县| 南通市| 洛扎县| 崇州市| 商丘市| 吉木萨尔县| 谷城县| 上杭县| 措勤县| 阜平县| 抚顺市| 分宜县| 灵武市| 玛多县| 阿图什市| 郧西县| 洛隆县| 贵州省| 项城市| 黎川县| 芜湖市|