因此。我正在制作一个带按钮的页面;单击按钮可以平滑地将页面(实际上是容器)滚动到位于更右侧的锚点。这是通过container.scrollLeft
完成的。
现在我正在尝试这样做,以便当用户手动滚动(滚动条,鼠标滚轮,箭头键等)时,自动平滑滚动会立即停止。
我已尝试使用container.addEventListener('scroll',StopScroll,false);
执行此操作,但这会触发任何滚动,甚至通过代码完成,而不仅仅是由用户完成。
有没有办法只检测用户滚动?或者也许是解决方法?
另外,我宁愿不使用Jquery,但如果这是唯一的方法,我会切换到它。
答案 0 :(得分:3)
我感觉DOM滚动和事件滚动以相同的方式管理,因此无法区分。
但是,您可以挂钩进入mousedown / keydown并在按住键或鼠标按钮时更新变量,并且只有在设置了该变量时才执行scrollStop?