フリック操作時のエラー(Firefox)
本日はフリック操作時のエラーについてです。
過去にも何度かうまくいかず原因を解明しては、忘れてしまっていた内容なので備忘録として残しておきます。
エラーになる記述
e.changedTouches[0].pageX
event.changedTouches[0].pageX
エラー内容
e.changedTouches is undefined
event.changedTouches is undefined
解決策
e.originalEvent.changedTouches[0].pageX
event.originalEvent.changedTouches[0].pageX
※ event.originalEventオブジェクトにアクセスすることで取得できるようになる。
(参考:http://api.jquery.com/category/event-object/)
プラグインつくりました
これを機にカルーセルのプラグインも作りました。
自分用に作ったので詳しい解説しません(笑)
(できれば、コンバージョン率も低くなると言われているカルーセルは使いたくないですが…)
DEMO
carousel slider flick responsive
機能
- クリック操作
- フリック操作
- レスポンシブ対応
- カレント表示
- 画像が1枚のときはボタン非表示
- リサイズ対応(ランドスケープ対応)
- スピード調整
- 無限ループ無し
など…
自由にお使いください。
では、また。