使表格的标题列可左右拉伸jquery插件封装
插件名称命名为:jquery.tableresize.js,代码如下:
/*
Writenbymlcactus,2014-11-24
这是我封装的一个jquery插件,能够使table的各列可以左右拉伸,从而使宽度变小或变大
用法:
单个table:$("#table_id").tableresize();   
页面所有table:$("table").tableresize();
*/
(function($){
    $.fn.tableresize=function(){
        var_document=$("body");
        $(this).each(function(){
            if(!$.tableresize){
                $.tableresize={};
            }
            var_table=$(this);
            //设定ID
            varid=_table.attr("id")||"tableresize_"+(Math.random()*100000).toFixed(0).toString();
            vartr=_table.find("tr").first(),ths=tr.children(),_firstth=ths.first();
            //设定临时变量存放对象
            varcobjs=$.tableresize[id]={};
            cobjs._currentObj=null,cobjs._currentLeft=null;
            ths.mousemove(function(e){
                var_this=$(this);
                varleft=_this.offset().left,top=_this.offset().top,width=_this.width(),height=_this.height(),right=left+width,bottom=top+height,clientX=e.clientX,clientY=e.clientY;
                varleftside=!_firstth.is(_this)&&Math.abs(left-clientX)<=5,rightside=Math.abs(right-clientX)<=5;
                if(cobjs._currentLeft||clientY>top&&clientY<bottom&&(leftside||rightside)){
                    _document.css("cursor","e-resize");
                    if(!cobjs._currentLeft){
                        if(leftside){
                            cobjs._currentObj=_this.prev();
                        }
                        else{
                            cobjs._currentObj=_this;
                        }
                    }
                }
                else{
                    cobjs._currentObj=null;
                }
            });
            ths.mouseout(function(e){
                if(!cobjs._currentLeft){
                    cobjs._currentObj=null;
                    _document.css("cursor","auto");
                }
            });
            _document.mousedown(function(e){
                if(cobjs._currentObj){
                    cobjs._currentLeft=e.clientX;
                }
                else{
                    cobjs._currentLeft=null;
                }
            });
            _document.mouseup(function(e){
                if(cobjs._currentLeft){
                    cobjs._currentObj.width(cobjs._currentObj.width()+(e.clientX-cobjs._currentLeft));
                }
                cobjs._currentObj=null;
                cobjs._currentLeft=null;
                _document.css("cursor","auto");
            });
        });
    };
})(jQuery);  
页面代码为:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
    <title></title>
    <styletype="text/css">
        td{text-align:center;}
    </style>
    <scripttype="text/javascript"src="script/jquery-1.10.2.js"></script>
    <scripttype="text/javascript"src="script/jquery.tableresize.js"></script>
    <scripttype="text/javascript">
        $(document).ready(function(){
            //使两张table同时支持左右拉伸
            $("table").tableresize();
        });
    </script>
</head>
<body>
    表格1<br/>
    <tablecellspacing="0"border="1"style="border-collapse:collapse;"rules="all">
        <tbody><tr>
            <tdstyle="width:200px;">ID</td><tdstyle="width:200px;">名字</td><tdstyle="width:200px;">年纪</td><tdstyle="width:200px;">地址</td><tdstyle="width:200px;">电话</td>
        </tr><tr>
            <td>22</td><td>Name:44</td><td>Age:23</td><td>Address:47</td><td>Phone:15</td>
        </tr><tr>
            <td>28</td><td>Name:42</td><td>Age:68</td><td>Address:30</td><td>Phone:50</td>
        </tr><tr>
            <td>29</td><td>Name:63</td><td>Age:48</td><td>Address:90</td><td>Phone:76</td>
        </tr>
    </tbody>
    </table>
    <br/>表格2<br/>
    <tablecellspacing="0"border="1"style="border-collapse:collapse;"rules="all">
        <tbody><tr>
            <tdstyle="width:200px;">ID</td><tdstyle="width:200px;">名字</td><tdstyle="width:200px;">年纪</td><tdstyle="width:200px;">地址</td><tdstyle="width:200px;">电话</td>
        </tr><tr>
            <td>22</td><td>Name:44</td><td>Age:23</td><td>Address:47</td><td>Phone:15</td>
        </tr><tr>
            <td>28</td><td>Name:42</td><td>Age:68</td><td>Address:30</td><td>Phone:50</td>
        </tr>
    </tbody></table>
</body>
</html>
