2013-11-26 30 views
0

我在我的網站上使用jQuery循環1使用幻燈片。 我用#next函數導航到我的幻燈片。當點擊我幻燈片上的最後一張幻燈片時,它會將我重定向到另一個頁面(var random_next_url_enfant)。jQuery的循環幻燈片,與鍵碼導航

我想添加空格鍵和右箭頭鍵在我的幻燈片中進行導航。 當我添加這個Js代碼的時候,它在最後一張幻燈片上再次啓動幻燈片演示,而不是將我重定向到下一頁。

$(document.documentElement).keyup(function (e) { 
     if (e.keyCode == 39) 
     {   
     $('#slider_projets').cycle('next'); 
     } 
     }); 

這是我使用鼠標單擊的完整代碼。在最後一張幻燈片中,它將我重定向到另一個頁面,它完美地工作。但我想獲得相同的空格鍵和右箭頭:

$('#slider_projets').cycle({ 
      speed: 600, //temps d'animation 
      timeout: 0, //fréquence 
      fx: 'scrollLeft', 
      //compteur// 
      pager: "#nav", 
      after: function(currSlideElement, nextSlideElement, options, forwardFlag) { 
       $('#counter_1').text((options.currSlide + 1) + '/' + (options.slideCount)); 
       slideIndex = options.currSlide; 
       nextIndex = slideIndex + 1; 
       prevIndex = slideIndex - 1; 
       if (slideIndex == options.slideCount - 1) { 
        /*nextIndex = 0;*/ 
        var random_next_url_enfant = $("#random_next_url_enfant").val(); 
        $('#next').on("click", function(e){ 
         e.preventDefault(); 

         window.location = random_next_url_enfant; 
        }); 
       } 

       if (slideIndex === 0) { 
        prevIndex = options.slideCount - 1; 
       } 

      } 

     }); 

我想我失去了一些東西,但我找不到什麼!

這裏是一個的jsfiddle:

http://jsfiddle.net/8HsdG/

非常感謝您的幫助,

回答

0

@kkemple,我已經解決了問題...我只是不得不改變:

$(document.documentElement).keyup(function (e) { 
     if (e.keyCode == 32) 

     {   
     $('#slider_projets').cycle('next'); 
     } 
     }); 

通過

$(document.documentElement).keyup(function (e) { 
     if (e.keyCode == 32) 

     {   
     $("#next").trigger("click"); 
     } 
     }); 

和它完美的作品!無論如何感謝您的幫助!

0

你需要你的滑塊的外部訪問你的滑塊選項,原因你沒有得到的url是因爲沒有聽衆告訴它去那裏,只有點擊事件。

這是一個讓你非常接近的jsfiddle,它擁有你需要的一切,你只需填寫空白。

http://jsfiddle.net/kkemple/8HsdG/1/

我包你的代碼在一個匿名函數,所以我可以聲明一些範圍變量

(function() { 
    var slideIndex, slideCount; 

    // all of your code is here 
})(); 

我加入你的滑塊之前撥打電話:

before: function(currSlideElement, nextSlideElement, options, forwardFlag) { 
    slideCount = options.slideCount; 
}, 

然後加入以下代碼爲您的關鍵事件:

if (slideIndex == slideCount) { 
    //redirect to random url 
    e.preventDefault; 
} 
+0

感謝您的幫助@ kkemple,但我不明白你的意思是「填空」......我需要修改哪部分?找不到它,謝謝 – mmdwc

+0

對不起,我在工作中,你需要添加你的代碼,以在每個按鍵事件中產生你的隨機url我將更新jsfiddle – kkemple

+0

http://jsfiddle.net/kkemple/8HsdG/2/ – kkemple