【发布时间】:2012-05-22 19:42:07
【问题描述】:
我有一个带有标题作为第一列的大表格,还有一个 jQuery 滑块插件(来自https://github.com/keesschepers/jquery-ui-content-slider),可以在保持第一列固定的同时水平滚动表格。
但是,如果我尝试向下(垂直)滚动,我看不到第一列的其余部分(大于屏幕的高度),因为它具有固定属性 (css)。是否有任何 css 或 jQuery 技巧来解决这个问题?
CSS 代码:
table tr td:first-child { position: fixed; }
HTML 代码:
<div id="#content-scroll">
<table>
<tr><td></td>...and many more cells</tr>
...and many more rows
</table></div>
jQuery 代码:
<script type="text/javascript">
$(document).ready(function() {
$("#content-slider").slider({
animate: true,
change : function (e, ui) {
var maxScroll = $("#content-scroll").prop("scrollWidth") -
$("#content-scroll").width();
$("#content-scroll").animate({
scrollLeft : ui.value * (maxScroll / 100)
}, 1000);
},
slide : function (e, ui)
{
var maxScroll = $("#content-scroll").prop("scrollWidth") -
$("#content-scroll").width();
$("#content-scroll").prop('scrollLeft' ,ui.value * (maxScroll / 100));
}
});
});
</script>
【问题讨论】:
-
您是否尝试在 tbody 上设置高度和溢出-y?
-
如果您想要内联垂直滚动,请将#content-scroll 上的
overflow:hidden更改为overflow-x: hidden;,否则将高度设置为更高的值或使用jquery 进行检查:) -
@fudgey 我的代码中没有 tbody,我不确定有一个 tbody 会有什么帮助..
-
@Marco Johannesen overflow-x 仅在水平方向停止表溢出,在垂直方向停止溢出。两者都不允许向下滚动固定的第一列。除了第一列,我可以向下滚动表格的其余部分。
-
table tr td:first-child { position:absolute;左:8px; } 似乎有效,但扰乱了表格的正常流动......