setDataIdxforTable , 셀에 rowspan과 colspan 을 계산해서 data-row-idx, data-cell-idx 을 넣어준다.

1
setDataIdxforTable , 셀에 rowspan과 colspan 을 계산해서 data-row-idx, data-cell-idx 을  넣어준다.

var getRowCellCounts = function(table){
let rowCount = table.rows.length;
let cellCount = 0;
let tr,td;
for(const tr of table.rows){
let sum = 0;
for(const td of tr.cells){
sum+=td.colSpan;
}
cellCount = Math.max(cellCount,sum)
};
return {rowCount:rowCount,cellCount:cellCount}
}
var setDataIdxforTable = function(table,rowCount,cellCount){
let arr = new Array(rowCount*cellCount);
for(const tr of table.rows){
let st = tr.rowIndex * cellCount;
for(const td of tr.cells){
td.removeAttribute('data-row-idx');
td.removeAttribute('data-cell-idx');
while(st < arr.length && arr[st]!==undefined ){
st++
}
if(st >= arr.length ){
break;
}
arr[st] = td;
for(let i=2,m=td.colSpan;i<=m;i++){
arr[st+(i-1)] = td;
}
for(let i=2,m=td.rowSpan;i<=m;i++){
arr[st+cellCount*(i-1)] = td;
}
}
};
let dri=0,dci=0;
for(let i=0,m=arr.length;i<m;i++){
const td = arr[i];
if(td.hasAttribute('data-row-idx')){
continue;
}
dri = Math.floor(i/cellCount);
dci = i%cellCount;

td.setAttribute('data-row-idx',dri)
td.setAttribute('data-cell-idx',dci)
}
},
댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
4.28
4.29
4.30
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
5.21
5.22
5.23
5.24
5.25
5.26
5.27
5.28
5.29
5.30
5.31
6.1