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

Javascript 区分由.scrollLeft引起的滚动和试图在HTML页面中滚动的用户,javascript,jquery,html,javascript-events,Javascript,Jquery,Html,Javascript Events,我有一个滚动条,必须遵循一些时间线。使用setInterval不断滚动它。使用setInterval向左滚动 我仍然希望用户能够自然地控制并拖动滚动条。如果我能检测到用户这样做,我只需关闭setInterval计时器,并将控件留给用户,直到用户明确打开自动滚动 是否有办法将用户滚动事件与由.scrollLeft创建的滚动区分开来?您可以在更改scrollLeft之前设置一个标志,然后将其清除,然后检查滚动事件中的标志。 由于Javascript是在UI线程上运行的,因此用户不可能在代码运行时滚动

我有一个滚动条,必须遵循一些时间线。使用
setInterval
不断滚动它。使用
setInterval
向左滚动

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


是否有办法将用户滚动事件与由
.scrollLeft
创建的滚动区分开来?

您可以在更改
scrollLeft
之前设置一个标志,然后将其清除,然后检查
滚动
事件中的标志。

由于Javascript是在UI线程上运行的,因此用户不可能在代码运行时滚动。

您可以在更改
scrollLeft
之前设置一个标志,然后清除它,然后在
滚动
事件中检查该标志。

由于Javascript是在UI线程上运行的,因此用户不可能在代码运行时滚动。

另一种选择是完全放弃使用滚动条,而是使用CSS和脚本。这也为您提供了使其看起来更像时间线的选项。您可以将滚动条元素设置为您想要的任何CSS


还有一些,但是使用滚动条并将一个轴约束在一个又长又窄的容器DIV中并不难。一个替代方法是完全放弃使用滚动条,使用CSS和滚动条。这也为您提供了使其看起来更像时间线的选项。您可以将滚动条元素设置为您想要的任何CSS

有一些,但是使用一个控件并将一个轴约束在一个长而窄的容器DIV中并不太难