猫头鹰旋转木马键盘导航

时间:2015-03-02 12:49:06

标签: plugins jquery

我希望将键盘导航添加到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/

2 个答案:

答案 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]);
        }
    });

});