플러그인 이름은 jquery.tableresize.js이고, 코드는 다음과 같습니다.
/*
작성자: mlcactus, 2014-11-24
제가 패키징한 jquery 플러그인으로, 테이블의 각 열을 좌우로 늘려 너비를 더 작게 또는 크게 만들 수 있습니다
사용법:
단일 테이블: $("#table_id").tableresize()
페이지의 모든 테이블: $("table").tableresize();
*/
(함수($) {
$.fn.tableresize = 함수() {
var _document = $("body");
$(this).each(함수 () {
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 왼쪽 = _this.offset().left, 위쪽 = _this.offset().top, 너비 = _this.width(), 높이 = _this.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 > 상단 && clientY < 하단 && (왼쪽 || 오른쪽)) {
_document.css("cursor", "e-resize");
If (!cobjs._currentLeft) {
if (왼쪽) {
cobjs._currentObj = _this.prev();
}
그 외 {
cobjs._currentObj = _this;
}
}
}
그 외 {
cobjs._currentObj = null;
}
});
ths.mouseout(function (e) {
if (!cobjs._currentLeft) {
cobjs._currentObj = null;
_document.css("커서", "자동");
}
});
_document.mousedown(함수 (e) {
if (cobjs._currentObj) {
cobjs._currentLeft = e.clientX;
}
그렇지 않으면 {
cobjs._currentLeft = null;
}
});
_document.mouseup(함수 (e) {
if (cobjs._currentLeft) {
cobjs._currentObj.width(cobjs._currentObj.width() (e.clientX - cobjs._currentLeft));
}
cobjs._currentObj = null;
cobjs._currentLeft = null;
_document.css("커서", "자동");
});
});
};
})(jQuery);
页면代码为:
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
http://www.w3.org/1999/xhtml">