Как мне создать бесконечный цикл в JavaScript? Я пытаюсь сделать слайд-шоу, которое у меня работает, но не могу зациклить. Я даже не могу заставить его повторить цикл дважды.
Код, который я использую сейчас, -
window.onload = function start() {
slide();
}
function slide() {
var num = 0;
for (num=0;num<=10;num++) {
setTimeout("document.getElementById('container').style.marginLeft='-600px'",3000);
setTimeout("document.getElementById('container').style.marginLeft='-1200px'",6000);
setTimeout("document.getElementById('container').style.marginLeft='-1800px'",9000);
setTimeout("document.getElementById('container').style.marginLeft='0px'",12000);
}
}
Без элемента for он проходит один раз. Когда я ввожу for, Firefox либо блокируется, либо просто зацикливается один раз. Я уверен, что это действительно простая вещь, и даже если это будет повторяться 1000000 раз или что-то в этом роде вместо бесконечности, это сработает для меня.
Кроме того, я не хочу использовать jQuery или что-то еще, созданное кем-то другим. Я изучаю JavaScript, и это частично помогает мне учиться, а частично потому, что я пытаюсь создать как можно больше систем на основе HTML5.
РЕДАКТИРОВАТЬ: Я думаю, причина зависания в том, что он выполняет код сразу, а затем просто сохраняет его в кеше или что-то в этом роде. Я хочу, чтобы он прошел через это один раз, а затем снова начал с самого начала, что я всегда думал о циклах и для чего. В «пакетном» сценарии (командной строке) это можно сделать с помощью команды « GOTO
». Не знаю, есть ли эквивалент в JS или нет, но это действительно моя цель.