在这里左侧的复选框固定,当页面的大小发生变化时,这一列没有发生变化,显示就错位。
可以在之后table.render后加一个done函数,
testTObjectidReload 是layui定义的该表的标志id
done: function(res, curr, count){
//动态监听表头高度变化,冻结行跟着改变高度
$("div [lay-id='testTObjectidReload'] .layui-table-header tr").resize(function () {
$("div [lay-id='testTObjectidReload'] .layui-table-header tr").each(function (index, val) {
$($("div [lay-id='testTObjectidReload'] .layui-table-fixed .layui-table-header table tr")[index]).height($(val).height());
});
});
//初始化高度,使得冻结行表头高度一致
$("div [lay-id='testTObjectidReload'] .layui-table-header tr").each(function (index, val) {
$($("div [lay-id='testTObjectidReload'] .layui-table-fixed .layui-table-header table tr")[index]).height($(val).height());
});
//动态监听表体高度变化,冻结行跟着改变高度
$("div [lay-id='testTObjectidReload'] .layui-table-main tr").resize(function () {
$("div [lay-id='testTObjectidReload'] .layui-table-body tr").each(function (index, val) {
$($("div [lay-id='testTObjectidReload'] .layui-table-fixed .layui-table-body table tr")[index]).height($(val).height());
});
});
//初始化高度,使得冻结行表体高度一致
$("div [lay-id='testTObjectidReload'] .layui-table-main tr").each(function (index, val) {
$($("div [lay-id='testTObjectidReload'] .layui-table-fixed .layui-table-body table tr")[index]).height($(val).height());
});
//初始化滚动条
$("div [lay-id='testTObjectidReload'] .layui-table-fixed .layui-table-body").animate({ scrollTop: $("div [lay-id='testTObjectidReload'] .layui-table-main").scrollTop() }, 0);
}
不过,这个方法有个问题,会导致页面打开时异常卡顿。大部分时候只用这一段,即可解决问题,卡顿现象也能缓解。
$("div [lay-id='testTObjectidReload'] .layui-table-header tr").resize(function () {
$("div [lay-id='testTObjectidReload'] .layui-table-header tr").each(function (index, val) {
$($("div [lay-id='testTObjectidReload'] .layui-table-fixed .layui-table-header table tr")[index]).height($(val).height());
});
});