2

要从左到右滚动,我有这个小 javascript,效果很好。

window.onscroll=function() {
var scroll = window.scrollY;
$('#page').css('left', '-' + scroll + 'px');
}

但是每次我向右滚动一次,然后再向左滚动,内容的边距就会发生变化。 图片

您可以看到滚动条在两张图片的顶部。第一个是在滚动之前,第二个是在我滚动之后。

没有图片的演示

4

2 回答 2

2

添加position:fixed不会自动将元素定位到最左侧。您应该添加一个初始left值以#page获得一致的结果,f.ex:

#page{ left:0 }

尽管看起来您希望在左侧有更多空间,但请尝试以下操作:

var init = 200, // the initial left margin
    $page = $('#page').css('left', init);
window.onscroll = function() {
    $page.css('left', init-window.scrollY);
};
于 2013-10-03T09:48:10.690 回答
1

当 css 样式 left=0px 时会发生这种情况。如果滚动 = 0,只需删除左侧样式
参见示例http://jsbin.com/umAdeGI/2

于 2013-10-03T10:04:20.577 回答