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回这个对象就行了!

猜你喜欢

转载自blog.csdn.net/qq_42158442/article/details/82496569