【发布时间】:2018-06-08 00:18:46
【问题描述】:
我有一个简单的 Web 应用程序,它使用 jQuery (v1.12.4)、jQuery UI (v1.12.1) 和 tablesorter 插件 (v2.30.5)。我也在使用 tablesorter CSS Sticky Header Widget,这就是我遇到问题的地方。
在应用程序的一个页面上,我显示了一个 HTML 表格,其中一列包含一个 jQuery UI 图标,该图标是指向另一个页面的链接。我使用 tablesorter CSS Sticky Header Widget 来保持表格标题行在页面滚动时可见。
我的问题是,当您向下滚动页面时,表格行开始移出浏览器窗口的顶部,每行中的 jQuery UI 图标会从粘性标题行中渗出,看起来很糟糕。
请注意,如果我将 jQuery UI 图标替换为 .png 文件中的图像,则不会出现问题。
当使用 jQuery UI 图标和 Firefox 作为我的浏览器时,我可以通过将 CSS z-index: 1 添加到表格的 <thead> 元素来获得所需的行为,即让图标消失在粘性标题后面。当使用 Internet Explorer 作为我的浏览器时,我可以通过将 CSS z-index: 1 放在有问题的列标题的 <td> 元素上来获得所需的行为。但是,我在使用 Chrome 时没有找到任何解决方案,而 Chrome 恰好是我的目标受众的首选浏览器。
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="jQuery/jquery-ui-themes-1.12.1/jquery-ui.min.css">
<link rel="stylesheet" href="jQuery/tablesorter-master/css/theme.blue.css">
</head>
<body>
<table id="table1">
<thead>
<tr>
<td>Column1</td>
<td>Column2</td>
</tr>
</thead>
<tbody>
<tr>
<td>r1c1</td>
<td><span class="ui-icon ui-icon-document"></span></td>
</tr>
<tr>
<td>r2c1</td>
<td><span class="ui-icon ui-icon-document"></span></td>
</tr>
<tr>
<td>r3c1</td>
<td><span class="ui-icon ui-icon-document"></span></td>
</tr>
<tr>
<td>r4c1</td>
<td><span class="ui-icon ui-icon-document"></span></td>
</tr>
<tr>
<td>r5c1</td>
<td><span class="ui-icon ui-icon-document"></span></td>
</tr>
<tr>
<td>r6c1</td>
<td><span class="ui-icon ui-icon-document"></span></td>
</tr>
<tr>
<td>r7c1</td>
<td><span class="ui-icon ui-icon-document"></span></td>
</tr>
<tr>
<td>r8c1</td>
<td><span class="ui-icon ui-icon-document"></span></td>
</tr>
<tr>
<td>r9c1</td>
<td><span class="ui-icon ui-icon-document"></span></td>
</tr>
<tr>
<td>r10c1</td>
<td><span class="ui-icon ui-icon-document"></span></td>
</tr>
</tbody>
</table>
<script src="jQuery/jquery-1.12.4.min.js"></script>
<script src="jQuery/jquery-ui-1.12.1/jquery-ui.min.js"></script>
<script src="jQuery/tablesorter-master/js/jquery.tablesorter.js"></script>
<script src="jQuery/tablesorter-master/js/widgets/widget-cssStickyHeaders.js"></script>
<script>
$(document).ready(function() {
$("#table1").tablesorter({
theme: "blue",
widgets: ["cssStickyHeaders"]
});
});
</script>
</body>
</html>
【问题讨论】:
标签: jquery-ui tablesorter