在鼠标单击时触发Hammer.js拖动/滑动行为

时间:2013-03-23 02:00:57

标签: javascript horizontal-scrolling hammer.js

我正在使用Hammer.js来允许在窗格之间拖动。我还想允许一个替代动作,其中还有一个“下一步”按钮,你可以点击(用鼠标)或触摸(在触摸屏上),这将自动动画幻灯片到下一个屏幕。

想象一下Hammer.js Carousel demo在页面中间有一个“下一步”按钮。当您单击时,它就像您执行了一个滑动左移,即可转到下一个窗格。

我认为我应该可以用以下内容触发:

var hammertime = Hammer('button.next-button').on("tap", function(event) {
    self.next();        
});

这似乎只是让我的鼠标进入拖动模式,而不是执行整个动画。

1 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。 self.next()显然不起作用,因为未在self元素中定义下一个函数。

您需要初始化新的轮播实例,然后调用showPane(index)方法:

      var hammertime = Hammer(doubletapRegion).on("tap", function (event) {
          console.log(event);
          var carousel = new Carousel("#carousel");
          carousel.init();
          carousel.showPane(1);
      });

此代码将移动第二个窗格(index = 1)。你当然可以在那里放一个变量。