JQuery Cycle Pause - PullRequest
       19

JQuery Cycle Pause

1 голос
/ 09 ноября 2010

Я хочу приостановить слайд-шоу примерно на 4 секунды, чтобы слайд не отображался перед возобновлением.Это возможно?Я пытался сделать это сам с помощью следующего кода, но он, похоже, не работает.

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

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

        } });

Спасибо

Люк Страттон

Ответы [ 2 ]

1 голос
/ 25 мая 2011

Прежде всего, вам не хватает точек с запятой в обеих командах в функции onbefore.Во-вторых, вы объявляете функцию внутри документа .ready, где это не должно быть ни в одной функции.В-третьих, вы должны использовать .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
    });

});

Это может быть не идеально, но должно быть немного лучше.

0 голосов
/ 09 ноября 2010

Можете ли вы достичь этого с помощью setTimeout?

* 1003 Е.Г. *

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');
}
...