Нужно же как-то оправдать гигагерцы и гигабайты современных компьютеров. :)
Думаю, что можно вообще без пометки кадра, а просто вести счётчик итерации. |
var next, nextid, marker = 0, i = 1, int; int = setInterval(function () { if (marker == 0) { marker = 1; } else { marker = 0; } document.getElementsByTagName('img')[marker].src = 'http://ftp.sktemp.ru/building8003.jpg?' + Math.random() + ''; document.getElementsByTagName('img')[marker].style.zIndex = i++; }, 300); ага, типа так)) |
Зачем нужен int?
|
чтобы, если понадобится, можно было сделать clearInterval() в будущем..
|
А зачем справа от Math.random() стоит + ''?
|
у вас в коде было обособлено плюсами, а мне было лениво убирать)))
|
При таком методе получается, что появляется новый кадр. Потом старый кадр. Потом новый кадр. Посмотрите
http://www.sktemp.spb.ru/nk.html |
Дёргается изображение. Чего ранее не было, когда я своё творчество навоял.
|
ок, извратимся донемогу))
var i = 1, int, cont, img; cont = document.body; int = setInterval(function () { img = document.createElement('img'); img.src = 'http://ftp.sktemp.ru/building8003.jpg?' + Math.random() + ''; img.style.zIndex = i++; img.style.position = 'absolute'; cont.appendChild(img); if (document.getElementsByTagName('img').length >= 3) { cont.removeChild(document.getElementsByTagName('img')[0]); } }, 300); |
У меня теперь в верхнем левом углу в FireFox постоянно мигает символ отсутствующей картинки. Но скачков кадров больше нет. Отчего так?
|
Часовой пояс GMT +3, время: 11:19. |