手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jQuery实现拖动调整表格单元格大小的代码实例
jQuery实现拖动调整表格单元格大小的代码实例
摘要:jQuery实现的拖动调整表格td单元格的大小:在实际应用中,可能有这样的需求,那就是需要调整td单元格的大小。也许是为了便于观察,也许是其...

jQuery实现的拖动调整表格td单元格的大小:

在实际应用中,可能有这样的需求,那就是需要调整td单元格的大小。

也许是为了便于观察,也许是其他原因,反正这样的需求是有的,下面就分享一段能够实现此功能的代码。

代码实例如下:

复制代码 代码如下:

<!DOCTYPE html>

<html>

<head>

<meta charset=" utf-8">

<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>ID</td>

<td>名字</td>

<td>年纪</td>

<td>地址</td>

<td>电话</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 Timelinr实现垂直水平时间轴插件(附源码下载)

jQuery实现强制cookie过期方法汇总

JQuery分屏指示器图片轮换效果实例

JS+CSS实现的拖动分页效果实例

js实现顶部可折叠的菜单工具栏效果实例

javascript实现动态改变层大小的方法

jquery实现弹出层效果实例

jquery实现用户打分评分特效

jQuery聚合函数实例

javascript实现可拖动变色并关闭层窗口实例

精品推荐
分类导航