代码之家  ›  专栏  ›  技术社区  ›  Ron Harlev

区分由以下原因引起的滚动:。scrollLeft和试图在HTML页面中滚动的用户

  •  0
  • Ron Harlev  · 技术社区  · 16 年前

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

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

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

    2 回复  |  直到 16 年前
        1
  •  3
  •   SLaks    16 年前

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

        2
  •  0
  •   Diodeus - James MacFarlane    16 年前

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

    有一些,但它不是太难推出自己的使用 jQuery draggable control 以及将一个轴约束在一个又长又窄的容器DIV中。