4

您如何判断 twitter 引导轮播是前进还是后退?我希望能够做类似的事情:

$('#myCarouse').on('slide', function(e) {
  if (fwd?) {do something}
});
4

1 回答 1

4

Carousel 插件附加到幻灯片事件对象的唯一特殊信息是relatedTarget包含将要切换到的元素的属性。这可用于手动计算您将在轮播中移动的位置。

类似于以下内容:

$('#myCarousel').on('slide', function (e) {
  var $active = $(this).find('.item.active')
    , children = $active.parent().children()
    , activePos = children.index($active)
    , nextPos = children.index(e.relatedTarget)
    , diff = nextPos - activePos;

    if (diff === 1 || diff < -1 || diff === 0) {
        console.log('next');
    } else {
        console.log('prev');
    }
});​

diff === 0是为了处理我在最后一张幻灯片上看到的奇怪行为并移至第一张幻灯片。出于某种原因,activePos结果nextPos是平等的。我无法理解它;它只是

这是一个演示:

JSFiddle

于 2012-09-11T18:06:21.590 回答