我已经设法用 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();
}
});
});
但是总是欢迎评论和优化:)