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

У меня есть три ротатора на первой странице, и я бы хотел, чтобы они запускались через 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
    });
});

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

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

2 ответа

Решение

Похоже, вы используете плагин 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)
});
Другие вопросы по тегам