드래그 가능한 열 너비 table_javascript 기술의 예시 데모
序号 | 操作 | 标题 | 执行人 | 开始时间 | 结束时间 | 天数 |
---|---|---|---|---|---|---|
1 | 编辑 | 任务标题:阿斯卡是大家啊 | Firefox | 2012-07-15 | 2012-08-15 | 32 |
2 | 编辑 | 任务标题:阿斯卡是大家啊 | Firefox | 2012-07-15 | 2012-08-15 | 32 |
3 | 编辑 | 任务标题:阿斯卡是大家啊 | Firefox | 2012-07-15 | 2012-08-15 | 32 |
4 | 编辑 | 任务标题:阿斯卡是大家啊 | Firefox | 2012-07-15 | 2012-08-15 | 32 |
5 | 编辑 | 任务标题:阿斯卡是大家啊 | Firefox | 2012-07-15 | 2012-08-15 | 32 |
<스크립트>
(function(){ //고정 테이블 헤더 ,还可以封装一下做成类
var leftScrollPanel = $("#left-scroll-panel");
var ganntBody = $("#gannt_grid> ;tbody");
varfixedThead = leftScrollPanel.prev(".fixed-header-tb");
if(!fixedThead.length){
fixedThead = $('
fixedThead.append(ganntBody.prev());
leftScrollPanel.before(fixedThead);
}else{
/ /gannt body repaint 시 테이블 헤드를 다시 생성하지 마세요.
//렌더링 함수에서 생성되지 않기 때문입니다.
ganntBody.prev().remove()
var tds = ganntBody. find("tr:first>td");
var ths =fixedThead.find("th")
var thWidth
$.each(tds,function(index,td){
//jq width() 또는 css('width')에는 1px 차이가 있을 수 있습니다. attr width를 사용하세요.
thWidth = ths.eq(index).attr("width")
(thWidth!=undefine) && $(td).attr("width",thWidth)
})
})();
(function(){//테이블 헤더 크기 조정
var sideOffset = {
left:null,
right:null,
td:null,
tdLocked:null,
tdLeft:null,
tdRight:null
};
var pos = {
resizeTime:0,
beginPos:0
}; var tableHead = $(" .fixed-header-tb").find("tr:first");
var headCellTagName = "th";
var bodyHead = $("#gannt_grid>tbody").find("tr:first ");
var minInterVal = 0;
var minWidth = 30;
var borderBeside = 5;
var notResizeCells = [0,1,6];
var freeCells = [2] ;
var forceSize = false;
var resizeAllow = false;
var allowedResize = function(){
var o = sideOffset ;
var index = o.td.index();
if($.inArray(index,notResizeCells)>-1){
frag = true; ==0||$.inArray(index-1,notResizeCells)>-1)&&o.left<=borderBeside){
frag = true
}else if((index==o.td. siblings().length||$.inArray(index 1,notResizeCells)>-1)&&o.right<=borderBeside){
frag = true
}else if(o.left>borderBeside&&o.right> ;borderBeside){
frag = true;
}
조각 반환;
};
var stopResize = function(){
if(!resizing){return ;}
resizing = false;
resizeAllow = false;
sideOffset = {
왼쪽:null,
오른쪽:null,
td:null,
tdLocked:null,
tdLeft:null,
tdRight:null
};
};
var isFreeCell = function(td){
return forceSize==false && $.inArray(td.index(),freeCells)!=-1;
};
tableHead.bind({
mousemove:function(e){
var th = $(e.target).closest(headCellTagName);
if(!th.length){
return;
}
if(!resizing){
sideOffset.td = th;
sideOffset.left = e.pageX - th.offset().left
sideOffset.right; th.width()-(e.pageX-th.offset().left);
if(forbiddenResize()){
resizeAllow = false
sideOffset.td.css("cursor", "default");
}else{
resizeAllow = true;
sideOffset.td.css("cursor","e-resize")
pos.resizeTime = new Date()* 1;
pos.beginPos = e.pageX;
return;
}
if(sideOffset.tdLocked){
th = sideOffset.tdLocked; 🎜>if(new Date()-pos.resizeTime
}else{
pos.resizeTime = new Date()*1; = (e.pageX-pos.beginPos);
if(!offset){
return;
}else{
pos.beginPos =
}
var leftWidth = sideOffset.tdLeft.width();
var rightWidth = sideOffset.tdRight.width();
if(offset<0&&leftWidth==minWidth){
return; ;0&&rightWidth==minWidth){
return;
}
varfixedLWidth,fixedRWidth;
if(leftWidth-Math.abs(offset)
fixedRWidth = rightWidth - (minWidth-leftWidth);
}else if(rightWidth-offset
fixedRWidth = minWidth;
fixedLWidth = leftWidth - (minWidth-rightWidth);
}else{
fixedLWidth = leftWidth 오프셋;
fixedRWidth = rightWidth-offset;
}
var adjustCells = [
{cell:sideOffset.tdLeft,width:fixedLWidth},
{cell:sideOffset.tdRight,width:fixedRWidth}
];
if(offset<0){
adjustCells = adjustCells.reverse();
}
var inOneTable = bodyHead.parents("table:first").get(0)==tableHead.parents("table:first").get(0);
$.each(adjustCells,function(i,cellConf){
if(isFreeCell(cellConf.cell)){return;}
cellConf.cell.attr("width",cellConf.width);
if(!inOneTable){
bodyHead.children().eq(cellConf.cell.index()).attr("width",cellConf.width)
}
});
},
mousedown:function(){
if(!resizeAllow){
return;
}
sideOffset.tdLocked = sideOffset.td;
if(sideOffset.left<=5){
sideOffset.tdRight = sideOffset.td;
sideOffset.tdLeft = sideOffset.td.prev();
}else{
sideOffset.tdRight = sideOffset.td.next();
sideOffset.tdLeft = sideOffset.td;
}
크기 조정 = true;
거짓을 반환합니다.
}
});
$(document).bind("mouseup",stopResize);
})();

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











JavaScript를 사용하여 이미지의 드래그 및 확대/축소 기능을 구현하는 방법은 무엇입니까? 최신 웹 개발에서는 이미지 드래그 및 확대/축소가 일반적인 요구 사항입니다. JavaScript를 사용하면 이미지에 드래그 및 확대/축소 기능을 쉽게 추가하여 더 나은 사용자 경험을 제공할 수 있습니다. 이 기사에서는 구체적인 코드 예제와 함께 JavaScript를 사용하여 이 기능을 구현하는 방법을 소개합니다. HTML 구조 먼저, 그림을 표시하고 추가하려면 기본 HTML 구조가 필요합니다.

Vue는 단일 페이지 애플리케이션(SPA)을 구축하는 데 적합한 널리 사용되는 JavaScript 프레임워크입니다. 지침과 구성 요소를 통해 드래그 앤 드롭 선택 및 배치 기능을 지원하여 사용자에게 더 나은 대화형 경험을 제공합니다. 이 기사에서는 Vue에서 드래그 앤 드롭 선택 및 배치에 대한 기술과 모범 사례를 소개합니다. 드래그 명령어 Vue는 드래그 효과를 쉽게 얻을 수 있는 v-드래그 가능한 명령어를 제공합니다. 이 명령은 모든 요소에 적용할 수 있으며 드래그 스타일을 사용자 정의할 수 있습니다.

Vue를 사용하여 드래그 앤 드롭 정렬 효과를 구현하는 방법 Vue.js는 대화형 프런트 엔드 애플리케이션을 구축하는 데 도움이 되는 인기 있는 JavaScript 프레임워크입니다. Vue에서는 드래그 앤 드롭 정렬 효과를 쉽게 구현할 수 있어 사용자가 요소를 드래그하여 데이터를 정렬할 수 있습니다. 이 기사에서는 Vue를 사용하여 드래그 앤 드롭 정렬 효과를 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저 Vue 인스턴스를 생성하고 정렬할 데이터를 저장할 배열을 정의해야 합니다. 이 예에서 우리는

Vue 실무 기술: v-on 명령을 사용하여 마우스 끌기 이벤트 처리 서문: Vue.js는 단순성, 사용 용이성 및 유연성으로 인해 많은 개발자가 가장 먼저 선택하는 JavaScript 프레임워크입니다. Vue 애플리케이션 개발에서 사용자 상호 작용 이벤트를 처리하는 것은 필수적인 기술입니다. 이 기사에서는 Vue의 v-on 지시문을 사용하여 마우스 드래그 이벤트를 처리하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. Vue 인스턴스 만들기: 먼저 HTML 파일에 Vue.js 라이브러리 파일을 도입합니다. &

Vue는 편리한 드래그 앤 드롭 기능을 제공하여 요소를 쉽게 복사하고 이동할 수 있는 인기 있는 JavaScript 프레임워크입니다. 다음으로 Vue에서 드래그 앤 드롭 요소를 복사하고 이동하는 방법을 살펴보겠습니다. 1. 드래그 앤 드롭 요소의 기본 구현 Vue에서 드래그 앤 드롭 요소를 복사하고 이동하려면 먼저 해당 요소의 기본 드래그 앤 드롭 기능을 구현해야 합니다. 구체적인 구현 방법은 다음과 같습니다. 템플릿에서 드래그해야 하는 요소를 추가합니다: <divclass="drag-elem"

Layui를 사용하여 이미지 드래그 및 확대/축소 효과를 얻는 방법 현대 웹 디자인에서 이미지의 상호 작용 효과는 웹 페이지의 활력과 사용자 경험을 높이는 중요한 수단이 되었습니다. 그 중 이미지 드래그 및 확대/축소 효과는 일반적이고 널리 사용되는 상호 작용 방법 중 하나입니다. 이 기사에서는 Layui 프레임워크를 사용하여 이미지 드래그 및 확대/축소 효과를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. Layui 프레임워크 및 관련 종속성 소개: 먼저 Layui 프레임워크 및 관련 종속성을 HTML 파일에 도입해야 합니다. 이는 다음 코드 예제를 통해 소개될 수 있습니다.

uniapp에서 드래그 앤 드롭 정렬 기능을 구현하는 방법 드래그 앤 드롭 정렬은 사용자가 요소를 드래그하여 순서를 변경할 수 있는 일반적인 사용자 상호 작용 방법입니다. uniapp에서는 컴포넌트 라이브러리와 몇 가지 기본 드래그 이벤트를 사용하여 드래그 앤 드롭 정렬 기능을 구현할 수 있습니다. 유니앱에서 드래그 앤 드롭 정렬 기능을 구현하는 방법을 코드 예시와 함께 자세히 소개합니다. 1단계: 기본 목록 페이지 만들기 먼저 정렬해야 하는 요소를 표시하는 기본 목록 페이지를 만들어야 합니다. 사용할 수 있습니다&

Vue는 오늘날 가장 인기 있는 프런트 엔드 프레임워크 중 하나이며 다양한 웹 애플리케이션을 편리하게 개발하는 데 도움이 되는 풍부한 기능과 도구를 제공합니다. 매우 유용한 기능 중 하나는 드래그 앤 드롭으로, 이를 통해 사용자는 페이지의 한 위치에서 다른 위치로 요소를 드래그할 수 있습니다. Vue는 드래그 앤 드롭 정렬 기능을 포함하여 드래그 앤 드롭 작업을 쉽게 생성하고 관리할 수 있는 몇 가지 내장 명령과 기능을 제공합니다. 이 글에서는 Vue 문서에서 드래그 앤 드롭 정렬 기능의 사용 및 효과를 소개합니다. 드래그 정렬 기능이란 무엇입니까? 드래그 정렬 기능은 V
