jQuery++という、jQueryのヘルパーライブラリ(?)を最近知りました。
クッキーの操作やフォームのパラメータ取得、ドラッグ&ドロップやスワイプなどのイベント処理など、素のjQueryだけでは難しい処理などを拡張してくれるライブラリです。リンク先のページから、必要な機能だけをチェックして「Download」ボタンをクリックすると、選択された機能のコードだけが記述されたjsファイルを取得できます。
今回は、このjQuery++のコンポーネントの一つであるjQuery.event.swipeを使って、スワイプイベントを検知するコードを書いてみました。以下がその実行結果です。
上記ではJSFIDDLEというオンラインサービスを使っている関係で、StealJSを使ってjsファイルを読み込むという方法をとってますが、普通のサイトであればjQuery++からダウンロードしたjquerypp.custom.jsをscriptタグで読み込んで、以下のようにすれば実行できます。
<!DOCTYPE HTML> <html lang="ja-JP"> <head> <meta charset="UTF-8"> <title>jQuery.event.swipe</title> <link rel="stylesheet" href="styles.css"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script src="jquerypp.custom.js"></script> <script src="script.js"></script> </head> <body> <h1>jQuery.event.swipe</h1> <p>下のボックスの中をスワイプしてください。</p> <div id="swipeBox"></div> <p id="msg"></p> </body> </html>
$(document).ready(function(){
// swipe:方向に関わらずスワイプされた時のイベント。
$("#swipeBox").bind("swipe", function(e){
$("#msg").show().fadeOut("slow");
});
// swiperight:右方向のスワイプイベント
$("#swipeBox").bind("swiperight", function(e){
$("#msg").text("右にスワイプしました。");
});
// swipeleft:左方向のスワイプイベント
$("#swipeBox").bind("swipeleft", function(e){
$("#msg").text("左にスワイプしました。");
});
// swipeup:上方向のスワイプイベント
$("#swipeBox").bind("swipeup", function(e){
$("#msg").text("上にスワイプしました。");
});
// swipedown:下方向のスワイプイベント
$("#swipeBox").bind("swipedown", function(e){
$("#msg").text("下にスワイプしました。");
});
//マウスの移動量が20ピクセル以上、200ピクセル未満で「スワイプ」と認定。
jQuery.event.swipe.min = 20; //デフォルト値は30
jQuery.event.swipe.max = 200; //デフォルト値は75
});
スワイプイベントを実装するヘルパーライブラリは他にも色々ありますが、その他の便利機能も含まれるということで、しばらくこのjQuery++を使ってみようかと思います。












