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 内で関数を宣言していますが、実際にはどの関数にも含まれるべきではありません。3 つ目は、.css(display, 'none') を使用して、一時停止中にスライドショーを非表示にする必要があることです (再開する前にスライドが表示されないという意味である場合)。行末)。これを試して:

$(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 に答える