如何设置和调用 ScrollLeft() 位置

How to set and call ScrollLeft() position

我想设置 scrollLeft() 位置并回调它。这是我的代码笔...

http://codepen.io/jareko999/pen/PNJgMq

当您单击 "Zoom out" 时,您可以从左向右滚动。当您单击一个框时,它会聚焦在该框上。然后,当您单击 "Zoom out" 时,滚动条返回到 0。但是,我希望滚动条位于您最初单击某个框时的位置。现在,如果你点击最后一个框,然后再次缩小,scrollLeft 位置回到 0。我知道我可以设置一个变量...

var scrollPosition = $('body').scrollLeft();

但我不确定从那里去哪里。即使我设置了这个变量,控制台也说它无法读取它。我是 JS 的新手,但我真的很想弄清楚这一点。如果您有更好的解决方案或使用 scrollLeft() 或其他方法解决此问题的方法,请提供帮助。谢谢。

在您的 JS 文件中添加 var scrollX = 0; 作为全局变量。

然后在 $('.box').click(function() { 函数的顶部添加 scrollX = document.body.scrollLeft;

最后,在 function zoomOut() { 函数的末尾添加 document.body.scrollLeft = scrollX;

这是一个工作代码笔:http://codepen.io/anon/pen/yOzmyN