这是为查看这篇文章的人准备的——我最终选择了我最初放在jsFiddle中的解决方案,该解决方案使用简单的 javascript 来模仿固定的 x。
第一个答案中的 javascript 很重,而且有问题,第二个答案听起来不错,但在实践中不起作用。因此,我推荐来自 jsFiddle(如下)的 javascript 作为没有 javascript 库的固定 x 和流体 y 的最佳答案。它并不完美,延迟最小,但这是我找到的最佳答案。
function fixLeft() {
function getScrollX() {
var x = 0, y = 0;
if( typeof( window.pageYOffset ) == 'number' ) {
x = window.pageXOffset;
} else if( document.body && ( document.body.scrollLeft) ) {
x = document.body.scrollLeft;
} else if( document.documentElement && ( document.documentElement.scrollLeft) ) {
x = document.documentElement.scrollLeft;
}
return [x];
}
var x = getScrollX();
var x = x[0];
// have to get and add horizontal scroll position px
document.getElementById('header').style.left = x + "px";
document.getElementById('tabs').style.left = x + "px";
document.getElementById('footer').style.left = x + "px";
}
window.onscroll = fixLeft;