jQuery實現的拖動調整表格td單元格的大小
在實際應用中,可能有這樣的需求,那就是需要調整td單元格的大小。
也許是為了便於觀察,也許是其他原因,反正這樣的需求是有的,下面就分享一段能夠實現此功能的程式碼。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css" > table { border-collapse: collapse; } td { text-align: center; } </style> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script type="text/javascript"> (function($) { $.fn.tableresize = function() { var _document = $("body"); $(this).each(function() { if (!$.tableresize) { $.tableresize = {}; } var _table = $(this); //設定ID var id = _table.attr("id") || "tableresize_" + (Math.random() * 100000).toFixed(0).toString(); var tr = _table.find("tr").first(), ths = tr.children(), _firstth = ths.first(); //設定臨時變數存放物件 var cobjs = $.tableresize[id] = {}; cobjs._currentObj = null, cobjs._currentLeft = null; ths.mousemove(function(e) { var _this = $(this); var left = _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; var leftside = !_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); $(document).ready(function() { $("table").tableresize(); }); </script> </head> <body> <table cellspacing="0" border="1" rules="all"> <tbody> <tr> <td style="width:200px;">ID</td> <td style="width:200px;">名字</td> <td style="width:200px;">年紀</td> <td style="width:200px;">地址</td> <td style="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> </body> </html>
相關文章
- jQuery滑鼠拖動調整數字大小jQuery
- JavaScript 獲取表格指定td單元格JavaScript
- jQuery獲取點選td單元格的值jQuery
- JavaScript滑鼠拖動調整div大小JavaScript
- Winform中實現拖動 Windows 邊緣來調整其大小ORMWindows
- jquery實現的獲取指定行列td單元格內容jQuery
- jQuery拖動調整左右兩列寬度jQuery
- jquery統計表格指定列的單元格值的和jQuery
- javascript實現的滑鼠懸浮當前td單元格變色效果JavaScript
- JavaScript 遍歷td單元格JavaScript
- JavaScript拖動調整元素的尺寸JavaScript
- js遍歷迭代table表格的每一個td單元格程式碼例項JS
- 67,表格中單元格td自適應高度,最大高度後滾動條顯示
- 動態建立table表格併為每一個td單元格註冊點選事件事件
- 動態等比例調整圖片大小的jQuery程式碼jQuery
- JavaScript 拖動調整元素尺寸JavaScript
- 使用jquery合併表格中相同文字的相鄰單元格jQuery
- js拖動調整元素寬度JS
- td單元格合併程式碼例項
- js獲取table表格指定行列td單元格內容JS
- js實現的通過拖動調整元素間的相對位置程式碼例項JS
- js實現的拖動改變視窗大小功能JS
- 通過拖動實現調整元素之間位置程式碼例項
- vue表格合併單元格Vue
- js 表格合併單元格JS
- elementui表格動態資料單元格合併UI
- JS動態生成表格後 合併單元格JS
- jQuery實現的自定義可以拖動的彈出層效果jQuery
- Jquery實現滑鼠拖動改變div高度jQuery
- elementui——表格的相同內容單元格合併UI
- element中表格合併單元格
- 根據viewport的size自動調整fontsize大小View
- JavaScript合併表格中的內容相同的單元格JavaScript
- jQuery實現的新聞列表上下移動調整順序程式碼例項jQuery
- javascript如何遍歷表格中的行和單元格JavaScript
- 批量調整視訊尺寸大小的方法,一鍵自動批量調整視訊
- excel表格中開啟可以顯示整個表格但是列印卻只能列印一個單元格Excel
- 表格單元格點選操作(彈窗)