>  기사  >  웹 프론트엔드  >  테이블의 제목 열을 왼쪽 및 오른쪽으로 확장 가능하게 만들기 jquery 플러그인 package_jquery

테이블의 제목 열을 왼쪽 및 오른쪽으로 확장 가능하게 만들기 jquery 플러그인 package_jquery

WBOY
WBOY원래의
2016-05-16 16:30:251826검색

플러그인 이름은 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">