我希望将键盘导航添加到Owl Carousel插件中。最初的jQuery插件的Github有一个关于这个主题的帖子here,所以我尝试了以下内容:
var owl = $('.owl-carousel');
$(document.documentElement).keyup(function(event) {
if (event.keyCode == 37) {
owl.prev();
} else if (event.keyCode == 39) {
owl.next();
}
});
其他人使用#owl-carousel作为选择器,但在Wordpress版本中它附加了一串不断变化的数字,所以我不想触及它。我不认为使用该类会产生影响,因为它们都是以主旋转木马div为目标。
无论我尝试什么,我都会得到一个“未定义不是函数”。
我尝试在视觉编辑器中使用我的主题的“原始js”输入,并编辑插件的源文件。我不确定这是否是Wordpress特定的,或者我是否忽略了一些非常明显的东西。任何见解都会非常感激!
我在这里使用旋转木马: http://hammacklawfirm.com/wp/about-paul/
答案 0 :(得分:13)
尝试将owl变量放在函数中,如下所示:
jQuery(document.documentElement).keyup(function (event) {
var owl = jQuery(".owl-carousel");
// handle cursor keys
if (event.keyCode == 37) {
// go left
owl.trigger('owl.prev');
} else if (event.keyCode == 39) {
// go right
owl.trigger('owl.next');
}
});
这样对我有用。
答案 1 :(得分:1)
Din的回答让我开始朝着正确的方向前进,但看起来Owl改变了Events语法:owl.prev和owl.next对我不起作用。不过这是:
$(document).ready(function() {
var owl = $('.owl-carousel');
owl.owlCarousel({
loop:true,
margin:10,
});
/*keyboard navigation*/
$(document.documentElement).keyup(function(event) {
if (event.keyCode == 37) { /*left key*/
owl.trigger('prev.owl.carousel', [700]);
} else if (event.keyCode == 39) { /*right key*/
owl.trigger('next.owl.carousel', [700]);
}
});
});