猫头鹰旋转木马移动方向(拖动+上一个/下一个点击)

时间:2014-03-26 11:14:20

标签: jquery carousel owl-carousel

我正在创建一个用户应该以块的形式获取内容的网站,就像一个简短的powerpoint演示文稿,用户可以在包含带有HTML的div的幻灯片之间来回移动。

为此,我认为使用类似轮播的演示视图是个好主意。我查看了Owl-carousel及其afterMove回调参数,但我没有在文档中看到有关如何获取移动方向的信息。

换句话说,如果用户向左拖动或单击“下一步”按钮,我想调用函数n如果用户向右拖动或单击“上一步”按钮,我想调用函数{{1} }。这是可能的,还是应该查看其他插件?

4 个答案:

答案 0 :(得分:3)

我需要做同样的事情,但仅针对next / prev点击(我不使用拖动)。 由于我没有找到任何正确的方法来获取移动方向,我覆盖了点击功能以添加信息类:

    $(".owl-next").click(function(){
      $('.owl-carousel').addClass('move-next');
    })

    $(".owl-prev").click(function(){
        $('.owl-carousel').addClass('move-prev');
    })

然后在afterMove函数中:

afterMove: function() {
    if( $('.owl-carousel').hasClass('move-next') ) {
          // Click next: your code
          $('.owl-carousel').removeClass('move-next');
    } else if ( $('.owl-carousel').hasClass('move-prev') ) {
          // Click prev: your code
          $('.owl-carousel').removeClass('move-prev');
    }
}

可能不是最好的方法,但至少我可以得到我想要的东西。

答案 1 :(得分:2)

使用插件的 dragDirection 属性

答案 2 :(得分:2)

使用relatedTarget上的state属性来获取方向。

owl.on("drag.owl.carousel", function (event) {
    console.log(event.relatedTarget.state.direction);
});

答案 3 :(得分:1)

我在github.com上阅读

/ ****** /

var owl = $('#your-carousel-selector').data('owlCarousel');

$(document.documentElement).keyup(function(event) {
    // handle cursor keys
    if (event.keyCode == 37) {
        owl.prev();
    } else if (event.keyCode == 39) {
        owl.next();
    }
});