开发者

Javascript : is there a way to detect user scrolling, but not scrolling done by code (i.e. scrollLeft etc)?

So. I'm making a page with buttons; clicking the buttons smoothly scrolls the page (actually a container) to anchors located further right. This is done with container.scrollLeft.

Now I'm trying to make it so that when the user scrolls manually (scrollbar, mousewheel, arrow keys etc), the automated smooth scrolling instantly stops.

I've tried doing this with container.addEventListener('scroll',StopScroll,false); but this fires up for any scroll, even done through co开发者_JAVA技巧de, not just done by the user. Is there a way to detect only user scrolling ? Or maybe a work-around ?

Also, I'd rather not use Jquery, but I'll switch to it if it's the only way.


I've got a feeling that DOM scrolling and event scrolling are managed the same way, and therefore indistinguishable.

However, you might hook into mousedown/keydown and update a variable when a key or mouse button is held, and only perform scrollStop if that variable is set?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜