【发布时间】:2021-11-30 22:13:51
【问题描述】:
我刚刚找到了这个教程:https://www.geeksforgeeks.org/how-to-create-a-table-with-fixed-header-and-scrollable-body/ 它对我来说非常有效,但我需要刷新网页并在表格中与以前在同一行中(例如一个有 10 000 行的表格,我需要在重新刷新网页后停留在第 600 行)。 我只是添加:
<script>
document.addEventListener("DOMContentLoaded", function(event) {
var scrollpos = localStorage.getItem('scrollpos');
if (scrollpos) window.scrollTo(0, scrollpos);
});
window.onbeforeunload = function(e) {
localStorage.setItem('scrollpos', window.scrollY);
};
</script>
但它不起作用,因为我停留在一个固定的网页上并且我在里面滚动。这是因为我的垂直滚动条包含在表格中,而不是在网页中。
如何重新加载网页以保持垂直滚动条的位置?
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<!---Without refresh Dispositif-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function(event) {
var scrollpos = localStorage.getItem('scrollpos');
if (scrollpos) window.scrollTo(0, scrollpos);
});
window.onbeforeunload = function(e) {
localStorage.setItem('scrollpos', window.scrollY);
};
</script>
<style>
.fixTableHead {
overflow-y: auto;
height: 600px;
}
.fixTableHead thead th {
position: sticky;
top: 0;
}
table {
border-collapse: collapse;
width: 100%;
}
th,
td {
padding: 8px 15px;
border: 2px solid #529432;
}
th {
background: #ABDD93;
}
</style>
<div class="fixTableHead">
<table class="table table-striped header-fixed" id="tableau">
<thead>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
<tr>
<td>10</td>
<td>11</td>
<td>12</td>
</tr>
<tr>
<td>13</td>
<td>14</td>
<td>15</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
谢谢
【问题讨论】:
标签: javascript php html css