Войти

Показать полную графическую версию : JavaScript: отображение картинок по порядку вместо случаного метода


7yur
10-01-2008, 17:51
есть скрипт:


...
var banners = new Array ('1.jpg','2.jpg','3.jpg')
...
function rotate(time)
{
rand=(banners.length-1)*Math.random()
chosen=Math.round(rand)
banner(chosen)
setTimeout('rotate('+time+')',time)
}

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

Coutty
10-01-2008, 18:12
var i = 0;
function rotate(time) {
banner(banners[i]);
i++;
if (i == banners.lenght-1)
i = 0;
setTimeout('rotate('+time+')',time);
}
Сойдёт?

7yur
10-01-2008, 18:36
с этим вариантом картинки вообще не отображаются (

7yur
10-01-2008, 23:42
вот оригинал,
http://www.zshare.net/download/63833019d01276/
измененный,
http://www.zshare.net/download/6383315f04d508/

7yur
11-01-2008, 12:37
пошло так,

function rotate(i) {
i1 = 0;
sek = 5000;
var picturs;
m = i;
picturs = banners[i];
document.images[i1].src = picturs;
i = i + 1;
if (i == banners.length) {
i = 0;
}
j = i;
timerID = setTimeout("rotate(j)",sek);
}

Sham
16-01-2008, 03:54
по массиву проходимся так: for (key in array)
{
.....
}

Vlad Drakula
18-01-2008, 12:51
Sham
1) более точно читайте о чем идет речь, а потом делайте комментарии!!!
2) а вы хоть представляете какой мусор может вылезти если обходить массив вашим способом?

Sham
19-01-2008, 02:00
Vlad Drakula, взаимно :)
где это вы увидели там мой способ и мусор? в упор не вижу...
и вообще, на форуме есть и более бессмысленные посты - придирайтесь к ним лучше...

Vlad Drakula
23-01-2008, 21:06
Sham

1)
где это вы увидели там мой способ и мусор? в упор не вижу... »



array.a = function(){
alert(1);
}

for (key in array)
{
.....
}



в данном случае a будет выбрано, но при этом это будет не нумерованный элемент массива

почти в любом коде встречаются расширения объекта Array

2)
ваш способ не подходит в принцепе т.к. не использует таймаутов, а это основное требование ;)




© OSzone.net 2001-2012