我有this code根據this solution,但它似乎不適用於我。帶有可滾動行和固定標題的表格
我想能夠:
- 滾動的行
- 被固定
- 頭寬度設置爲與第一行
TD
頭。
我對JavaScript很新穎,所以我不知道我在想什麼。滾動部分正在工作,但不在jsfiddle中。如何使TH
與TD
的寬度相同?
編輯1:
代碼
<html>
<head>
<style>
.outerDIV {
position: relative;
padding-top: 30px; //height of your thead
}
.innerDIV {
overflow: auto;
max-height: 200; //the actual scrolling container
}
table thead {
display: block;
position: absolute;
top: 0;
left: 0;
}
table tbody {
display: block;
}
</style>
<script>
function scrollingTableSetThWidth(tableId)
{
var table = document.getElementById(tableId);
ths = table.getElementsByTagName('th');
tds = table.getElementsByTagName('td');
if(ths.length > 0) {
for(i=0; i < ths.length; i++) {
ths[i].style.width = getCurrentComputedStyle(tds[i], 'width');
}
}
}
function getCurrentComputedStyle(element, attribute)
{
var attributeValue;
if (window.getComputedStyle)
{ // class A browsers
var styledeclaration = document.defaultView.getComputedStyle(element, null);
attributeValue = styledeclaration.getPropertyValue(attribute);
} else if (element.currentStyle) { // IE
attributeValue = element.currentStyle[vclToCamelCases(attribute)];
}
return attributeValue;
}
</script>
</head>
<body>
<div class="outerDIV">
<div class="innerDIV">
<table border="1">
<thead>
<tr>
<div><th>Column1</th><th>Column2</th><th>Column3</th></div>
</tr>
</thead>
<tbody>
<tr>
<td>Line1Cell1</td><td>Line1Cell2</td><td>Line1Cell3</td>
</tr>
<tr>
<td>Line2Cell1</td><td>Line2Cell2</td><td>Line2Cell3</td>
</tr>
<tr>
<td>Line3Cell1</td><td>Line3Cell2</td><td>Line3Cell3</td>
</tr>
<tr>
<td>Line4Cell1</td><td>Line4Cell2</td><td>Line4Cell3</td>
</tr>
<tr>
<td>Line5Cell1</td><td>Line5Cell2</td><td>Line5Cell3</td>
</tr>
<tr>
<td>Line6Cell1</td><td>Line6Cell2</td><td>Line6Cell3</td>
</tr>
<tr>
<td>Line7Cell1</td><td>Line7Cell2</td><td>Line7Cell3</td>
</tr>
<tr>
<td>Line8Cell1</td><td>Line8Cell2</td><td>Line8Cell3</td>
</tr>
<tr>
<td>Line9Cell1</td><td>Line9Cell2</td><td>Line9Cell3</td>
</tr>
<tr>
<td>Line10Cell1</td><td>Line10Cell2</td><td>Line10Cell3</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>
請至少包含一些您的代碼。 –
@CristianCiupitu是的,我只是把代碼。 – Ionut
你可以做這樣的事情,但寬度列可以打破任何時間。 http://jsfiddle.net/MVxZb/9/ –