【发布时间】:2015-08-07 13:36:23
【问题描述】:
我按照@koala_dev 在this post 中的代码尝试锁定我的表格水平滚动的第一列。不幸的是,该代码对我的桌子没有影响。我想知道是否有人可以给我一些关于我做错了什么的指示,因为我是编程新手。
这是我的桌子: http://jsfiddle.net/mademoiselletse/bypbqboe/59/
这是我在 JS 中插入的代码(第 121-133 行):
$(function() {
var $tableClass = $('.table');
// Make a clone of our table
var $fixedColumn = $tableClass.clone().insertBefore($tableClass).addClass('fixed-column');
// Remove everything except for first column
$fixedColumn.find('th:not(:first-child),td:not(:first-child)').remove();
// Match the height of the rows to that of the original table's
$fixedColumn.find('tr').each(function(i, elem) {
$(this).height($tableClass.find('tr:eq(' + i + ')').height());
});
});
这是我插入的 CSS 属性(第 36-47 行):
.table-responsive > .fixed-column {
position: absolute;
display: inline-block;
width: auto;
border-right: 1px solid #ddd;
}
@media(min-width:768px) {
.table-responsive>.fixed-column {
display: none;
}
}
我唯一与demo code 不同的是,我将$('.table') 定义为$tableClass 而不是$table,因为我之前将var $table 定义为$('#table')。非常感谢您的帮助!
【问题讨论】:
-
在您的演示中有这一行 var
$tableClass = $('.table');即您正在尝试获取您的表对象,但您已将table与id指定为table而不是className为table -
感谢您的指出!我用 ID 引用了表格,但我得到了这个:jsfiddle.net/mademoiselletse/bypbqboe/62 你能给我一些暗示为什么会这样吗?
-
你的代码很混乱!!你为什么要克隆
table,为什么要删除除第一个之外的所有table data和table head?? -
因为我想在表格向右滚动时锁定第一列,因为我有很多列,就像这个人所做的那样:jsfiddle.net/4XG7T/3
-
是的,我明白了!但是你可以用
css来做,对吗?为什么cloning并再次插入等等??
标签: javascript css bootstrap-table