0

我在我的网站上使用Camera jQuery 幻灯片,但它无法使用我需要的键盘进行控制。在他们的谷歌小组中,有人发布了上一个/下一个有效的命令,但是我仍然需要暂停/恢复键盘按钮才能工作(在我的情况下,我使用的是空格键)。我需要输入什么才能让 .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();
4

2 回答 2

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();
   }
});
于 2012-11-02T14:22:47.727 回答
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();
        }
    }
}
于 2012-11-02T14:26:08.450 回答