興味深いリソース、Hammer.jsを見つけました。 HammerとjQueryでスワイプしようとしました。
1)コードをダウンロードしました here
2)そのコードをドキュメントに入れました。スワイプを使用するドキュメントのヘッドにそのコードへのリンクを配置します:<script src="hammer.js"></script>
3)使用方法がわかりません。 jQueryでこれに似たようなことをしようとしています。クリックする代わりにスワイプしたいということです:
$(function(){
$(".blue").click(function() {
$(".blue").animate({left: "0"}, 500)
});
})
このようなもの? http://jsfiddle.net/6jxbv/119/
結果を取得するためにHammer(element).on("event", callback);
を使用しています。この場合、swipeleft
およびswiperight
イベントを追加しました。
スクリプトは上記の構文を使用して、次のようなイベントを追加します。
drag, dragstart, dragend, dragup, dragdown, dragleft, dragright
swipe, swipeup, swipedown, swipeleft, swiperight
JQueryで使用したい場合は、次の構文を提供します(私に尋ねると、ちょっと気まずいです):
$(elementOrSelector).hammer().on("event", function(event) {
//callback
});
ただし、jquery.hammer.js
プラグインを含める必要があります
ドキュメント を読んでみてください
編集:
ここでは、スワイプとドラッグを使用した例を見ることができます。スワイプは(マウスまたはタッチによる)速い動きであり、ドラッグは押しながら動くことを考慮に入れてください(実装は正しくありませんが、アニメーションはあなたにお任せします。:))
http://jsfiddle.net/uZjCB/183/ およびフルスクリーン http://jsfiddle.net/uZjCB/183/embedded/result/
それが役に立てば幸い
Hammer.js 2.0では、Recognizerを使用する必要があります。
var blue = document.getElementById('blue');
var hammer = new Hammer.Manager(blue);
var swipe = new Hammer.Swipe();
hammer.add(swipe);
hammer.on('swipeleft', function(){
$(blue).animate({left: "-=100"}, 500)
});
hammer.on('swiperight', function(){
$(blue).animate({left: "+=100"}, 500)
});
hammerの詳細を読む ドキュメント
JS fiddle を正しいHammer cdnで更新して、動作するようになりました:
$(function(){
var red = document.getElementById("red");
var blue = document.getElementById("blue");
//Swipe
Hammer(red).on("swipeleft", function() {
$(this).find(".color").animate({left: "-=100"}, 500);
$("#event").text("swipe left");
});
Hammer(red).on("swiperight", function() {
$(this).find(".color").animate({left: "+=100"}, 500);
$("#event").text("swipe right");
});
// Drag
Hammer(blue).on("dragleft", function() {
$(this).find(".color").animate({left: "-=100"}, 500);
$("#event").text("drag left");
});
Hammer(blue).on("dragright", function() {
$(this).find(".color").animate({left: "+=100"}, 500);
$("#event").text("drag right");
});
});