2011-08-16 6 views
5

So.私はボタンでページを作っています。ボタンをクリックすると、ページ(実際にはコンテナ)を円滑にスクロールし、さらに右にあるアンカーにスクロールします。これはcontainer.scrollLeftで行われます。Javascript:ユーザーのスクロールを検出する方法はありますか?スクロールはコードで行われません(スクロールなど)。

私はユーザーが手動でスクロールすると(スクロールバー、マウスホイール、矢印キーなど)、自動スムーズスクロールが即座に停止するようにしようとしています。

私はcontainer.addEventListener('scroll',StopScroll,false);でこれをやってみましたが、これはユーザーが行うだけでなく、コードを介して行われた場合でもスクロールして起動します。 ユーザースクロールのみを検出する方法はありますか?または回避策ですか?

また、私はJqueryを使用したくないですが、それが唯一の方法であればそれに切り替えます。

答えて

3

DOMスクロールとイベントスクロールが同じ方法で管理されているため、区別がつかないという感覚があります。

しかし、キーまたはマウスボタンが押されたときにmousedown/keydownに接続して変数を更新し、その変数が設定されている場合にのみscrollStopを実行できますか?