我正在创建一个用户应该以块的形式获取内容的网站,就像一个简短的powerpoint演示文稿,用户可以在包含带有HTML的div的幻灯片之间来回移动。
为此,我认为使用类似轮播的演示视图是个好主意。我查看了Owl-carousel及其afterMove
回调参数,但我没有在文档中看到有关如何获取移动方向的信息。
换句话说,如果用户向左拖动或单击“下一步”按钮,我想调用函数n
如果用户向右拖动或单击“上一步”按钮,我想调用函数{{1} }。这是可能的,还是应该查看其他插件?
答案 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();
}
});