Нужно же как-то оправдать гигагерцы и гигабайты современных компьютеров. :)
Думаю, что можно вообще без пометки кадра, а просто вести счётчик итерации. |
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, время: 05:18. |