中文字幕亚洲欧美一区_国产JIZZJIZZ免费看_亚洲av大码在线_亚洲黄色一级毛片_野花影视大全在线观看免费_欧美一区二区三区免费不卡_欧美日韩国产在线精品_国产福利盒子在线看片_精品国产人成在线_日韩欧美动漫一区在线

咨詢電話:024-31891684

網(wǎng)站建設(shè)|注冊(cè)|登錄 | 易勢(shì)大連分公司

沈陽(yáng)做網(wǎng)站、沈陽(yáng)建站易勢(shì)最專業(yè)!

 

build網(wǎng)站制作當(dāng)前位置:首頁(yè)>主要服務(wù)>網(wǎng)站制作

jQuery起點(diǎn)教程之插件制作

jquery插件給我的感覺清一色的清潔,簡(jiǎn)單。如Jtip,要使用它的功能,只需要在你的元素的class上加上Jtip,并引入jtip.js及其樣式即可以了。其他事情插件全包。我喜歡jquery的一個(gè)重要原因是發(fā)現(xiàn)她已經(jīng)有了很多很好,很精彩的插件。寫一個(gè)自己的jQuery插件是非常容易的,如果你按照下面的原則來(lái)做,可以讓其他人也容易地結(jié)合使用你的插件.


  • 為你的插件取一個(gè)名字,在這個(gè)例子里面我們叫它"foobar". 

  • 創(chuàng)建一個(gè)像這樣的文件:jquery.[yourpluginname].js,比如我們創(chuàng)建一個(gè)jquery.foobar.js 

  • 創(chuàng)建一個(gè)或更多的插件方法,使用繼承jQuery對(duì)象的方式,如: 

    jQuery.fn.foobar = function() {
    // do something
    };

     

  • 可選的:創(chuàng)建一個(gè)用于幫助說明的函數(shù),如: 

    jQuery.fooBar = {
    height: 5,
    calculateBar = function() { ... },
    checkDependencies = function() { ... }
    };
    你現(xiàn)在可以在你的插件中使用這些幫助函數(shù)了: 
    jQuery.fn.foobar = function() {
    // do something
    jQuery.foobar.checkDependencies(value);
    // do something else
    };

     

  • 可選的l:創(chuàng)建一個(gè)默認(rèn)的初始參數(shù)配置,這些配置也可以由用戶自行設(shè)定,如: 

    jQuery.fn.foobar = function(options) {
    var settings = {
    value: 5,
    name: "pete",
    bar: 655
    };
    if(options) {
    jQuery.extend(settings, options);
    }
    };
    現(xiàn)在可以無(wú)需做任何配置地使用插件了,默認(rèn)的參數(shù)在此時(shí)生效: 
    $("...").foobar();
    或者加入這些參數(shù)定義: 
    $("...").foobar({
    value: 123,
    bar: 9
    });
    如果你release你的插件, 你還應(yīng)該提供一些例子和文檔,大部分的插件都具備這些良好的參考文檔.現(xiàn)在你應(yīng)該有了寫一個(gè)插件的基礎(chǔ),讓我們?cè)囍眠@些知識(shí)寫一個(gè)自己的插件.很多人試著控制所有的radio或者checkbox是否被選中,比如: 
    $("input[@type='checkbox']").each(function() {
    this.checked = true;
    // or, to uncheck
    this.checked = false;
    // or, to toggle
    this.checked = !this.checked;
    });
    無(wú)論何時(shí)候,當(dāng)你的代碼出現(xiàn)each時(shí),你應(yīng)該重寫上面的代碼來(lái)構(gòu)造一個(gè)插件,很直接地: 
    $.fn.check = function() {
    return this.each(function() {
    this.checked = true;
    });
    };
    這個(gè)插件現(xiàn)在可以這樣用: 
    $("input[@type='checkbox']").check();
    現(xiàn)在你應(yīng)該還可以寫出uncheck()和toggleCheck()了.但是先停一下,讓我們的插件接收一些參數(shù). 
    $.fn.check = function(mode) {
    var mode = mode || 'on'; // if mode is undefined, use 'on' as default
    return this.each(function() {
    switch(mode) {
    case 'on':
    this.checked = true;
    break;
    case 'off':
    this.checked = false;
    break;
    case 'toggle':
    this.checked = !this.checked;
    break;
    }
    });
    };
    這里我們?cè)O(shè)置了默認(rèn)的參數(shù),所以將"on"參數(shù)省略也是可以的,當(dāng)然也可以加上"on","off", 或 "toggle",如: 
    $("input[@type='checkbox']").check();
    $("input[@type='checkbox']").check('on');
    $("input[@type='checkbox']").check('off');
    $("input[@type='checkbox']").check('toggle');
    如果有多于一個(gè)的參數(shù)設(shè)置會(huì)稍稍有點(diǎn)復(fù)雜,在使用時(shí)如果只想設(shè)置第二個(gè)參數(shù),則要在第一個(gè)參數(shù)位置寫入null.從上一章的tablesorter插件用法我們可以看到,既可以省略所有參數(shù)來(lái)使用或者通過一個(gè) key/value 對(duì)來(lái)重新設(shè)置每個(gè)參數(shù).作為一個(gè)練習(xí),你可以試著將 第四章 的功能重寫為一個(gè)插件.這個(gè)插件的骨架應(yīng)該是像這樣的: 
    $.fn.rateMe = function(options) {
    var container = this; // instead of selecting a static container with $("#rating"), we now use the jQuery context

    var settings = {
    url: "rate.php"
    // put more defaults here
    // remember to put a comma (",") after each pair, but not after the last one!
    };

    if(options) { // check if options are present before extending the settings
    $.extend(settings, options);
    }

    // ...
    // rest of the code
    // ...

    return this; // if possible, return "this" to not break the chain
    });

     

 

上一條資訊|返回欄目頁(yè)|下一條資訊

易勢(shì)沈陽(yáng)建站專業(yè)機(jī)構(gòu),以DIV+CSS為主,js/jQuery為輔,制作利于優(yōu)化,頁(yè)面美觀的優(yōu)質(zhì)網(wǎng)站!

top

網(wǎng)絡(luò)策劃公司|新浪官方微博|大連網(wǎng)站建設(shè)