Javascript 使用jQuery平滑跨浏览器对角滚动
根据页面的垂直滚动,我水平移动一个名为Javascript 使用jQuery平滑跨浏览器对角滚动,javascript,jquery,google-chrome,firefox,scroll,Javascript,Jquery,Google Chrome,Firefox,Scroll,根据页面的垂直滚动,我水平移动一个名为容器的: scrollElement.scroll(function() { var offsetLeft = scrollElement.scrollTop() / x; container.css({ left: offsetLeft + 'px' }); }); 当用户垂直滚动时,这将成功创建对角线滚动效果 这种滚动在Firefox中几乎是不可接受的,但在Google Chrome中却非常不稳定:当你滚动过快时,Chrome无法同步
容器的
:
scrollElement.scroll(function() {
var offsetLeft = scrollElement.scrollTop() / x;
container.css({ left: offsetLeft + 'px' });
});
当用户垂直滚动时,这将成功创建对角线滚动效果
这种滚动在Firefox中几乎是不可接受的,但在Google Chrome中却非常不稳定:当你滚动过快时,Chrome无法同步x轴和y轴上的移动,因此先向下滚动,然后调整x轴偏移。
不过,当你滚动得太快时,Firefox就会滞后
有没有更好的方法来实现这种“对角滚动”?
有没有可能把它弄得更光滑
我基本上希望div不要在每次都不更正x坐标的情况下向下滚动太远。您可以尝试将其作为动画,而不是直接为容器偏移设置CSS
scrollElement.scroll(function() {
var offsetLeft = scrollElement.scrollTop() / x;
container.stop(true, false); // Stop the current animation, likely
// caused by a previous scroll event fire.
container.animate({ left: offsetLeft + 'px' });
});
非常感谢。不幸的是,这加剧了先向下滚动然后向左滚动的效果。我正在寻找一种同步这些动作的方法。