区分由.scrollLeft引起的滚动和试图在HTML页面中滚动的用户

时间:2010-03-03 01:16:17

标签: javascript jquery html javascript-events

我有一个滚动条,必须遵循一些时间轴。它会使用.scrollLeft不断滚动setInterval

我仍然希望用户能够自然地控制并只是拖动滚动条。如果我能检测到用户这样做了,我会关闭setInterval计时器并将控件留给用户,直到他明确地重新打开自动滚动。

有没有办法区分用户滚动事件和.scrollLeft创建的滚动?

2 个答案:

答案 0 :(得分:3)

您可以在更改scrollLeft之前设置标记并在之后将其清除,然后检查scroll事件中的标记。
由于Javascript在UI线程上运行,因此用户无法在代码运行时滚动。

答案 1 :(得分:0)

另一种方法是放弃使用滚动条,然后使用CSS和jQuery slider control来完成。这也使您可以选择使其看起来更像时间线。您可以将滚动条元素设置为您想要的任何CSS。

有一些,但是使用jQuery draggable control并将一个轴限制在一个长而窄的容器DIV中并不是很难自己滚动。