JQuery循环暂停

时间:2010-11-08 21:42:29

标签: javascript jquery jquery-cycle web-frontend

我希望在恢复之前暂停幻灯片显示大约4秒钟没有显示幻灯片。这可能吗?我尝试使用以下代码自己完成此操作,但它似乎不起作用。

$(document).ready(function () {
        $('#homeSlideshowWrapper').cycle({
            fx: 'fade',
            timeout: 4000,
            after: onBefore
        });

        function onBefore() {
            $('#homeSlideshowWrapper').cycle('pause')
            $('#homeSlideshowWrapper').delay(5000).cycle('resume')

        } });

由于

Luke Stratton

2 个答案:

答案 0 :(得分:1)

首先,你在onbefore函数中缺少两个命令的分号。第二,你在document.ready中声明了一个函数,它实际上不应该在任何函数中。第三,你应该使用.css(显示,'无')来暂停幻灯片暂停(如果这是你在恢复之前没有显示幻灯片的意思。如果没有删除hide()和show()行结束)。试试这个:

$(document).ready(function () {
    var onBefore= function() {
        $('#homeSlideshowWrapper').cycle('pause').hide();
        $('#homeSlideshowWrapper').delay(5000).cycle('resume').show();
    };

    $('#homeSlideshowWrapper').cycle({
        fx: 'fade',
        timeout: 4000,
        after: onBefore
    });

});

这可能不完美,但应该更好一点。

答案 1 :(得分:0)

你能用setTimeout实现这个吗?

E.g。

function onBefore() {
    $('#homeSlideshowWrapper').cycle('pause');
    $('selector-for-active-slide').css('visibility', 'hidden'); // If you wish the slide to disappear, not sure what you mean by "no slide displayed before resuming"
    setTimeout(resumeSlideshow, 5000);
}
function resumeSlideshow() {
    $('#homeSlideshowWrapper').cycle('resume');
    $('selector-for-active-slide').css('visibility', 'visible');
}