2010-08-19 202 views
1

我正在为自己的网站工作,并且我使用自定义的水平滚动条来完成使用从另一个站点获得的Mootools(并获得他们的许可使用)。虽然我已经设法让滚动功能​​以我想要的方式工作,但我期望解决两个问题,并且没有我自己想知道的知识。Mootools的水平滚动条

我已经建立了一个简单的演示页here

你可以用鼠标滚轮/触控板的上下或左右,你可以抓住的滚动条拖动滚动它,你可以沿线任意位置单击直接跳转。所以所有的功能都可以。我的问题是:

  1. 如果滚动到中间(或除起始位置的任意位置),然后调整您的浏览器窗口,滚动条手柄会跳回开始/离开,即使内容原地踏步。如果您再次开始滚动,则内容将跳回到与滚轮手柄位置对齐的位置。理想情况下,当窗口调整大小时,句柄会保持放置状态,但我无法弄清楚如何独立完成此操作。

  2. 当时我想有一个回按钮顺利滚动你回到起点/“顶”结束/页面的右侧。我管理的最好的就是你现在看到的内容,内容顺利滚动,而滚动条则跳回到第一个位置。虽然我可以通过简单地将它直接跳回到起点来解决这个问题,但如果滚动器像内容那样顺畅地滚动回去,它肯定会看起来更好。

任何帮助,这将不胜感激!

回答

1

您的第一个问题正在发生,因为每当窗口调整大小时都调用positionIt()。看看这个函数,你可以看到bottomSlider每次都被初始化。我将positionIt()分解为初始化函数和定位函数,并确保窗口大小调整时只调用定位函数。

第二个问题很可能通过创建bottomSlider单独的步骤()函数和调用该固定内的onChange,而不是使用一个内联匿名函数。然后,您可以创建一个计时器或补间,调用step()将滚动条移回到其原始位置(并随后根据它移动视口。)

希望这有一定道理!

+0

我分手了positionIt功能,虽然它保持滚动手柄到位的调整大小(耶!),它在生产经历的另一个问题在于手柄不知道页面的宽度已经改变和熄灭页面如果浏览器宽度小于初始大小。 我把它挂在另一个例子:http://bit.ly/9F6hSs 至于第二个问题,我还没有,看上去还没有。你说的话很有道理,我只是不知道如何编写代码(如果它不是明显的显而易见的话,我对此有点无知)。 谢谢你的帮助到目前为止,但我很感激! – theck 2010-08-19 17:44:36