jQuery使用手动前进循环“结束”回调

时间:2011-06-02 23:25:26

标签: jquery callback jquery-cycle

我正在尝试使用jQuery循环插件手动推进幻灯片演示。但是,我希望在到达结束时淡出整个幻灯片,即查看最后一张幻灯片时,单击“下一步”并淡出。

似乎“结束”回调函数只有在自动前进时才有效。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

我之前也遇到过这个问题。这是一个非常好的方法:

var num = 0;
$('#slideshow').cycle({
     fx:     'scrollHorz', 
    prev:   '#prev', 
    next:   '#next', 
    nowrap : 1,
    timeout : 0,
    after : function(c,n,o,f) {
        num++;
        if ( o.slideCount === num) {
            $('#slideshow').fadeTo('fast',0);
        }

    }

});

您可以在此处看到它:http://jsfiddle.net/Nfpr2/14/

答案 1 :(得分:0)

我也有这个问题,但我必须确保用户已查看过所有幻灯片,所以我对Wes的代码进行了一些更改。

var num = 0;
$('#slideshow').cycle({
    fx:     'fade', 
    prev:   '#prev', 
    next:   '#next', 
    nowrap : 1,
    timeout : 0,
    after : function(c,n,o,f) {
        (f) ? num++ : num--;
        if ((o.slideCount == num) || ((o.slideCount *= -1) == num)) {
            $('#slideshow').fadeTo('fast',0);
        }
    }
});

您可以在此处试用:http://jsfiddle.net/revagomes/RQEeN/