Задержка запуска ротаторов jQuery с интервалом в одну секунду друг от друга

StackOverflow https://stackoverflow.com/questions/1931388

Вопрос

У меня на первой странице три ротатора, и я бы хотел, чтобы они начинались через 1 секунду друг за другом.

$(document).ready(function(){
    $('#rot_top').cycle({       
        speed: 500,
        timeout: 2000
    });
    $('#rot_mid').cycle({       
        speed: 500,
        timeout: 2000
    });
    $('#rot_btm').cycle({       
        speed: 500,
        timeout: 2000
    });
});

после первоначального старта - они должны действовать в соответствии со своим обычным тайм-аутом.

Заранее большое спасибо за вашу помощь.

Это было полезно?

Решение

Похоже, вы используете Плагин jQuery Cycle?Если да, то есть delay опция, которая задерживает только первое изменение:

$(document).ready(function(){
    $('#rot_top').cycle({           
        speed: 500,
        timeout: 2000
    });
    $('#rot_mid').cycle({           
        speed: 500,
        timeout: 2000,
        delay: 1000,
    });
    $('#rot_btm').cycle({           
        speed: 500,
        timeout: 2000
        delay: 2000,
    });
});

Это запустит первый цикл немедленно, второй цикл через секунду, а третий цикл через секунду после этого.

Другие советы

setTimeout очень полезно для этого, попробуйте:

$(document).ready(function(){ 

  startCycle = function({
    $('#rot_top').cycle({speed: 500, timeout: 2000 }); 
    $('#rot_mid').cycle({speed: 500, timeout: 2000 }); 
    $('#rot_btm').cycle({speed: 500, timeout: 2000 }); 
  })

  setTimeout(startCycle();, 1000)
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top