我对jPages有一些问题。我有一张桌子,想使用 jPages 提供的分页。当我看到给定页面上示例的逐行淡入淡出效果时,我决定在我的桌子上放同样的效果。通过这样做,我遇到了这些问题:
- 当使用border-collapsed时,背景色会消失片刻,并直接停留在单元格内容的周围,之后背景色会再次出现。
我通过使用border-separate 和使用border-spacing 0px 解决了这个问题,并将行样式附加到单元格元素而不是行元素,并通过更改行样式以使其仅在顶部而不是顶部具有边框和底部。
这带来了我的下一个问题:在 IE9 中,行之间的边界出现在行褪色之前。(在 Firefox 中不是这样)当行褪色时,每隔一个边框就会消失(rowstyle1 的上边框)。我通过在 rowstyle2 上使用顶部和底部边框以及在没有边框的左侧 rowstyle1 上解决了边框消失的问题。但是边框仍然出现在行的内容之前。
最后一个问题:因为我不再使用border-collapse:collapsed 我在IE7 中的列之间有白色边框。(不在 IE8 中)。另外在 IE7、IE8 和 Opera 中没有 fadeTo 效果。
通过使用 divs 而不是 table 标签,不存在任何问题!但我知道它在语义上是不正确的。
所以我的问题是:如何解决最后的问题?为什么使用表格标签会存在这些问题?也许有人知道我的解决方案为什么有效,因为我找不到我调查的解释。
这是当前代码:
<script>
$(document).ready(function() {
$(function(){
$("div.holder").jPages({
containerID : "torsch",
perPage: 40
});
});
});
</script>
CSS:
<style>
.rowstyle2 {
height:25px;
border-left: 0px none;
border-right:0px none;
border-top: 1px solid #999;
border-bottom: 1px solid #999;
background: url("/images/test.png") repeat-x scroll 0% 0% transparent;
vertical-align:middle;
}
.rowstyle1 {
background-color:#FFFFFF;
height:25px;
border-top: 0px none;
border-bottom: 0px none;
border-left:0px none;
border-right:0px none;
vertical-align:middle;
}
table {
border-spacing: 0px;
}
</style>
HTML:
<div class="holder"></div>
<table>
<thead>
<th>col1</th>
<th>col2</th>
<th>col3</th>
</thead>
<tbody id="torsch">
<tr>
<td class="rowstyle2">1</td>
<td class="rowstyle2">45</td>
<td class="rowstyle2">4546</td>
</tr>
<tr>
<td class="rowstyle1">1</td>
<td class="rowstyle1">45</td>
<td class="rowstyle1">4546</td>
</tr>
<tr>
<td class="rowstyle2">1</td>
<td class="rowstyle2">45</td>
<td class="rowstyle2">4546</td>
</tr>
<tr>
<td class="rowstyle1">1</td>
<td class="rowstyle1">45</td>
<td class="rowstyle1">4546</td>
</tr>
<tr>
<td class="rowstyle2">1</td>
<td class="rowstyle2">45</td>
<td class="rowstyle2">4546</td>
</tr>
</tbody>
</table>