jQuery Camera滑块键盘控件

时间:2012-11-02 14:08:04

标签: javascript jquery

我在我的网站上使用Camera jQuery slideshow,但它无法用我需要的键盘控制。在他们的谷歌小组中,有人发布了上一个/下一个命令,但是我仍然需要暂停/恢复键盘按钮才能工作(在我的情况下,我正在使用空格键)。我需要输入什么才能让.camera_play也被空格键控制?这甚至可能吗?

以下是与问题相关的代码:

  $(document.documentElement).keyup(function (event) {
// handle cursor keys
if (event.keyCode == 37) {//go left
    $('.camera_prev').click();
} else if (event.keyCode == 39) { //go right
    $('.camera_next').click();
} else if(event.keyCode == 32) { // spacebar to stop
    $('.camera_stop').click();

2 个答案:

答案 0 :(得分:0)

在了解相机插件的工作原理后,您可以使用:visible选择器点击当前有效的操作(可能是停止或恢复),如下所示:

$(document.documentElement).keyup(function (event) {
   // handle cursor keys
   if (event.keyCode == 37) {//go left
       $('.camera_prev').click();
   } else if (event.keyCode == 39) { //go right
       $('.camera_next').click();
   } else if(event.keyCode == 32) { // spacebar to stop
       $('.camera_stop , .camera_play').filter(':visible').click();
   }
});

答案 1 :(得分:0)

文档没有显示这一点,但我挖掘了代码,看起来当你单击停止按钮时,它会向主包装器添加一个名为'paused'的类。以下是更新代码以处理暂停和空格键开始的方法。

$(document.documentElement).keyup(function (event) {
    // handle cursor keys
    if (event.keyCode == 37) {//go left
        $('.camera_prev').click();
    } else if (event.keyCode == 39) { //go right
        $('.camera_next').click();
    } else if(event.keyCode == 32) { // spacebar to stop
        if($('.camera_wrap').hasClass('paused')){  
            $('.camera_play').click();
        }
        else{
            $('.camera_stop').click();
        }
    }
}