我创建了如下所示的布局:
这是它的工作原理:
正如您可以看到标题是固定但可滚动的,1列的行为相同。
以下是此演示的代码: http://jsfiddle.net/Misiu/9j5Xy/7/
一切正常,但只有FF,在IE8上我有两个问题:
更新:修复了边框错误(解决方法) - 我为head,col和row div添加了额外的边框。 http://jsfiddle.net/Misiu/9j5Xy/12/
有人可以帮我修复IE并优化代码和css吗?
我不想使用任何像DataTable这样的插件。在我的情况下,最好在服务器上生成4个表而不是在客户端调用插件 - 对于非常大的表,在旧PC上使用FixedColumn运行DataTables需要将近3分钟。
答案 0 :(得分:0)
您可能需要查看Bootstrap或类似的框架。响应/流畅的布局在那里开箱即用。
答案 1 :(得分:0)
' ave设法用css和jQuery做所有修复。 的 http://jsfiddle.net/Misiu/9j5Xy/26/ 强>
这是我的jQuery代码:
$(document).ready(function () {
function scrollHandler(e) {
$('#row').css('left', -$('#table').get(0).scrollLeft);
$('#col').css('top', -$('#table').get(0).scrollTop);
}
$('#table').scroll(scrollHandler);
$('#table').resize(scrollHandler);
var animate = false;
$('#wrapper').keydown(function (event) {
if (animate) {
event.preventDefault();
};
if (event.keyCode == 37 && !animate) {
animate = true;
$('#table').animate({
scrollLeft: "-=200"
}, "fast", function () {
animate = false;
});
event.preventDefault();
} else if (event.keyCode == 39 && !animate) {
animate = true;
$('#table').animate({
scrollLeft: "+=200"
}, "fast", function () {
animate = false;
});
event.preventDefault();
} else if (event.keyCode == 38 && !animate) {
animate = true;
$('#table').animate({
scrollTop: "-=200"
}, "fast", function () {
animate = false;
});
event.preventDefault();
} else if (event.keyCode == 40 && !animate) {
animate = true;
$('#table').animate({
scrollTop: "+=200"
}, "fast", function () {
animate = false;
});
event.preventDefault();
}
});
});
但欢迎评论和优化:)