2013-03-25 71 views
1

有什麼辦法可以使用'before'回調來禁用幻燈片顯示?該幻燈片的作品與nex/prev選項「手動」工作,所以我想禁用這些。我試圖刪除id屬性,但不會禁用按鈕。jquery Cycle通過回調禁用幻燈片顯示

也許forwardFlag選項可用於此?

$('#slider-form').cycle({ 
     fx:  'fade', 
     speed: 'fast', 
     prev: '#prev', 
     next: '#next', 
     width: 940, 
     fit: 1, 
     before: onBefore, 
     after: onAfter, 
     nowrap: 1, 
     timeout: 0  
    }); 

function onBefore(currSlideElement, nextSlideElement, options, forwardFlag) { 
    //condition is not met: disable next/prev animation 

    //condition is met: enable navigation 
} 

回答

1

您可以使用暫停和恢復選項。

$('#slider-form').cycle('pause'); 

$('#slider-form').cycle('resume'); 

檢查此example

更新

你可以試試這個不同的方式。

刪除默認的next/prev選項。 創建您自己的按鈕。

點擊該按鈕,使用next/prev功能。

例如。

$("#my_next_button").click(function(){ 

condition { 

     $('#slider-form').cycle('next'); 
} 

}); 
+0

這對我不起作用,可能會導致我手動觸發prev/next幻燈片。 – stef 2013-03-25 10:25:36

+0

如何刪除事件處理程序?檢查這個http://api.jquery.com/off/ – enthusiastic 2013-03-25 10:53:52

+0

這工作,但不是立即。當我點擊「下一步」並且條件爲假時,我希望能夠取消即將進行的操作:顯示下一張幻燈片。刪除事件處理程序將在下次單擊鏈接時取消操作,但不取消「當前」操作。關! – stef 2013-03-25 10:58:58