JSで横スクロールeventを検知するメモ
JSで横スクロールeventを検知するメモ
デフォのscrollやtouchmove eventでは縦スクロール・横スクロールの区別ができない. なので,Custom Eventを使って横スクロールのみのeventを作成してそれを検知する処理についてのメモ.
動作確認した環境
sample code
仕組み
- custom event
scroll-x
を作成 - 指定要素の
scroll
eventを検知- 前の
scrollLeft
と今のscrollLeft
値を比較 - 変化していれば,custom event
scroll-x
をdispatch(発行)
- 前の
scroll-x
event をevent listener で拾って処理code
実行テスト
codepen:
See the Pen sample custom event scroll-x by Cartman (@Cartman0) on CodePen.
拡張性
scrollLeft
の部分をscrollTop
にすれば縦スクロールeventの取得をできるscrollLeft
値をthresholdを設定するとeventのdispatch間隔を制御できる.