1. 程式人生 > >jQuery中編寫外掛

jQuery中編寫外掛

隔行變色 面向過程 的jQuery外掛程式碼

  1. 首先是HTML程式碼 如下:

     

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/jquery-1.11.0.js" ></script>
        <script type="text/javascript" src="js/table-1.1.js" ></script>
    </head>
    <body>
        <table>
            <tr>
                <td>編號</td>
                <td>姓名</td>
                <td>成績</td>
            </tr>
            <tr>
                <td>編號</td>
                <td>姓名</td>
                <td>成績</td>
            </tr>
            <tr>
                <td>編號</td>
                <td>姓名</td>
                <td>成績</td>
            </tr>
            <tr>
                <td>編號</td>
                <td>姓名</td>
                <td>成績</td>
            </tr>
        </table>
        <script>
            $("table").table({
                odd:"green",
                evenClass:"yellow"
            })
        </script>
    </body>

</html>

然後JS程式碼 如下:

;(function($){
    $.fn.table = function(options){
        var defaults = {
            "odd":"red",
            "evenClass":"blue"
        }//定義預設屬性
        var options = $.extend(defaults,options)//用extend方法來繼承傳參的資料
        this.each(function(){
            var _this = $(this)
            _this.find("tr:odd").css({
                background:options.odd
            })//奇數行變色
            _this.find("tr:even").css({
                background:options.evenClass
            })//偶數行變色
        })
        return this//實現函式連綴
    }
})(jQuery)


 

思路如下:

首先把table的表格佈局好,樣式等先寫好之後再寫功能,這樣才會有條不紊的寫功能!

寫好樣式之後,就考慮怎麼去實現這個功能,說到js 這個寫法,首先我們得知道我們的需求之後

就根據需求來寫功能,按我們現在的這個需求,首先可以知道我們現在的需求是要table的隔行變色,

用jQuery的選擇器找到我們有改變的物件的方法,比如:基本選擇器、過濾選擇器等!我這裡用的是基本選擇器,

找到物件之後就要用這個:even()或者:odd()這兩種方法找到相對應的tr(物件),用css()的方法將所選擇的tr變色就可以了

寫完了需求之後。建立一個js檔案寫好外掛的基本格式之後把這個功能程式碼丟進這個js包裡面即可!

!!!需要注意的地方:

外掛格式一定要理解清楚,理解是根據什麼得出的邏輯順序跟意思。需要連綴函式的記得要return回這個物件就行了!