我正在使用Hammer.js来允许在窗格之间拖动。我还想允许一个替代动作,其中还有一个“下一步”按钮,你可以点击(用鼠标)或触摸(在触摸屏上),这将自动动画幻灯片到下一个屏幕。
想象一下Hammer.js Carousel demo在页面中间有一个“下一步”按钮。当您单击时,它就像您执行了一个滑动左移,即可转到下一个窗格。
我认为我应该可以用以下内容触发:
var hammertime = Hammer('button.next-button').on("tap", function(event) {
self.next();
});
这似乎只是让我的鼠标进入拖动模式,而不是执行整个动画。
答案 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)。你当然可以在那里放一个变量。