2012-11-02 77 views
0

我在我的網站上使用Camera jQuery slideshow,但它無法使用我需要的鍵盤進行控制。在他們的Google小組中,有人發佈了可以工作的上一個/下一個命令,但是我仍然需要暫停/恢復鍵盤按鈕才能工作(在我的情況下,我正在使用空格鍵)。我需要輸入什麼才能使.camera_play也受空格鍵控制?這甚至有可能嗎?jQuery相機滑塊鍵盤控件

下面是涉及到該問題的代碼:

$(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(); 

回答

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(); 
    } 
}); 
+0

謝謝,這是完美的作品。呃,有一次我已經停止並在那裏玩,但是沒有.filter(':visible')。click(); 。 – user1666190

0

文檔沒有證明這一點,但我挖成的代碼,它看起來就像當你點擊停止按鈕,它增加了一個類叫做「暫停」,主包裝。以下是您如何更新代碼來處理暫停和空格開始的方法。

$(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(); 
     } 
    } 
}