2013-03-25 72 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