https://clusterize.js.org
https://codepen.io/thdoan/pen/NgqmVG
Tiny vanilla JS plugin to display large data sets easily
Tiny vanilla Js 플러그인 라고 불리며, 대용량의 데이터를 쉽게 table 태그에 보여줍니다. jQuery 를 사용하지 않아 느리진 않은듯 싶습니다. 공식사이트 주소는 https://github.com/NeXTs/Clusterize.js 입니다.
<style>
body {
font: normal 16px/1.2 Calibri, sans-serif;
}
.clusterize table {
width: 100%;
border: 1px solid #000;
border-collapse: collapse;
border-spacing: 0;
}
.clusterize td {
border: 1px solid #000;
}
</style>
<p>Try dragging the scrollbar.</p>
<h3>text = fast</h3>
<div class="clusterize">
<div id="scroll-area1" class="clusterize-scroll">
<table>
<tbody id="content-area1" class="clusterize-content">
</tbody>
</table>
</div>
</div>
<h3>input = slow</h3>
<div class="clusterize">
<div id="scroll-area2" class="clusterize-scroll">
<table>
<tbody id="content-area2" class="clusterize-content">
</tbody>
</table>
</div>
</div>
<script src="./clusterize.min.js"></script>
<script>
var aRows1 = [];
for (var i=1; i<5001; ++i) {
aRows1.push('<tr><td>input</td><td>input</td><td>input</td><td>input</td><td>input</td></tr>');
}
var clusterize1 = new Clusterize({
rows: aRows1,
scrollId: 'scroll-area1',
contentId: 'content-area1'
});
var aRows2 = [];
for (var i=1; i<5001; ++i) {
aRows2.push('<tr><td><input></td><td><input></td><td><input></td><td><input></td><td><input></td></tr>');
}
var clusterize2 = new Clusterize({
rows: aRows2,
scrollId: 'scroll-area2',
contentId: 'content-area2'
});
</script>