1

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

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

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

        } });

谢谢

卢克·斯特拉顿

4

2 回答 2

1

首先,您在 onbefore 函数的两个命令中都缺少分号。其次,您在 document.ready 中声明了一个函数,它实际上不应该在任何函数中。第三是您应该使用 .css(display, 'none') 在幻灯片暂停时隐藏幻灯片(如果这就是您在恢复之前没有显示幻灯片的意思。如果不摆脱 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
    });

});

这可能并不完美,但应该会更好一些。

于 2011-05-25T12:54:09.453 回答
0

你能用 setTimeout 实现这个吗?

例如

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');
}
于 2010-11-08T21:52:27.950 回答