Подтвердить что ты не робот

Как использовать Hammer для прокрутки

Я нашел интересный ресурс: Hammer.js. Я попытался пролистнуть с помощью Hammer и jQuery.

1) Я загрузил код здесь
2) Я поместил этот код в документ. Я поместил ссылку на этот код в начале документа, который я хочу использовать: <script src="hammer.js"></script>
3) Я не знаю, как его использовать. Я пытаюсь сделать что-то подобное в jQuery. Я имею в виду, что я хочу прокрутить, а не щелкнуть:

$(function(){
    $(".blue").click(function() {
        $(".blue").animate({left: "0"}, 500)    
    });
}) 

http://jsfiddle.net/Narcis/rmtXC/

4b9b3361

Ответ 1

Что-то вроде этого? http://jsfiddle.net/6jxbv/119/

Я использую Hammer(element).on("event", callback); для получения результата. В этом случае я добавил события swipeleft и swiperight.

script использует описанный выше синтаксис для добавления таких событий, как:

drag, dragstart, dragend, dragup, dragdown, dragleft, dragright
swipe, swipeup, swipedown, swipeleft, swiperight

Если вы хотите использовать его с jQuery, они предоставляют этот синтаксис (который вызывает неудобства, если вы меня спрашиваете):

$(elementOrSelector).hammer().on("event", function(event) {
    //callback
});

Но вы должны включить плагин jquery.hammer.js

Попробуйте прочитать документы для получения дополнительной информации

EDIT:

Здесь вы можете увидеть пример с помощью прокрутки и перетаскивания. Учтите, что салфетки - это быстрое движение (с помощью мыши или касания), а перетаскивание - нажатие и перемещение (поэтому реализация не правильная, но я оставлю вам одинаковую:):)

http://jsfiddle.net/uZjCB/183/ и полноэкранный http://jsfiddle.net/uZjCB/183/embedded/result/

Надеюсь, что это поможет

Ответ 2

С помощью 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 документация

Ответ 3

обновление скрипта JS с правильной версией 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");
});

});