Попробуйте вместо этого:
function banner1()
{
var banner = $('banner1');
var banner1Link = $('banner1').getElement('a');
var banner1Image = $('banner1').getElement('img');
var delay = 0;
for (var keys in banners1) {
var func = (function(key) { return function() {
var object = banners1[key];
for (var property in object) {
if (property == 'href') {
var href = object[property];
}
if (property == 'src') {
var src = object[property];
}
}
banner1Link.setProperty('href', href);
banner1Image.setProperty('src', src);
console.log(href);
console.log(src);
}; })(keys);
setTimeout(func, delay);
delay += 20000;
}
}
JavaScript не имеет функции спящего стиля, потому что документ не будет отвечать во время работы JavaScript. Это означает, что пользователь не сможет взаимодействовать со страницей, когда скрипт спит.
При таком подходе все три обновления планируются за один раз. Они будут выполняться через 0 секунд (немедленно), 20 секунд и 40 секунд с момента запуска сценария.