Продвижение слайд-шоу в jQuery - PullRequest
0 голосов
/ 03 октября 2011

Я использую этот фрагмент кода из tutorialzine:

$(window).load(function(){

    // The window.load event guarantees that all the images are loaded before the auto-advance begins.
    var timeOut = null;

    $('#slider_navigator .arrow, #slider_navigator .dot').click(function(e,simulated){
        // The simulated parameter is set by the trigger method.
        if(!simulated){
            // A real click occured. Cancel the auto advance animation.
            clearTimeout(timeOut);
        }
    });

    // A self executing named function expression:
    (function autoAdvance(){
        // Simulating a click on the next arrow.
        timeOut = setTimeout(autoAdvance,2000);
        $('.slider_rightlink').trigger('click',[true]);
    })();

});

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

Как я могу изменить это так, чтобы он показывал первый слайд через 2 секунды, как остальные?

Ответы [ 2 ]

1 голос
/ 03 октября 2011

не заставляйте себя выполнять функцию:

function autoAdvance(){
    // Simulating a click on the next arrow.
    timeOut = setTimeout(autoAdvance,2000);
    $('.slider_rightlink').trigger('click',[true]);
};
timeOut = setTimeout(autoAdvance,2000);
1 голос
/ 03 октября 2011
$(window).load(function(){setTimeout(function(){

    // The window.load event guarantees that all the images are loaded before the auto-advance begins.
    var timeOut = null;

    $('#slider_navigator .arrow, #slider_navigator .dot').click(function(e,simulated){
        // The simulated parameter is set by the trigger method.
        if(!simulated){
            // A real click occured. Cancel the auto advance animation.
            clearTimeout(timeOut);
        }
    });

    // A self executing named function expression:
    (function autoAdvance(){
        // Simulating a click on the next arrow.
        timeOut = setTimeout(autoAdvance,2000);
        $('.slider_rightlink').trigger('click',[true]);
    })();

},2000);}

);

Вероятно, есть функция setTimeout jQuery, но она будет работать.

...