Есть несколько изображений, которые нужно с определённым интервалом "прокрутить" 1 раз.
Написал 2 ф-ции:
function preview() {
for(var n = 1; n <= 5; n++)
{
change_img(n,0); //ф-ция, которая меняет изображение
sleep(1000);
}
change_img(1,1); //ф-ция, которая меняет изображение
}
function sleep(s) {
var start = new Date().getTime();
for(var i = 0; i >= 0; i++) {
if ((new Date().getTime() - start) > s) {
break;
}
}
}
запускаю так:
<body onLoad="preview();">
В Опере работает - всё супер, но в ФФ и ИЕ не хочет - просто браузер виснет на время выполнения ф-ции.
Потом попробовал использовать setTimeOut():
function preview() {
for(var n = 1; n <= 5; n++)
{
// change_img(n,0);
sleep(1000,n);
}
change_img(1,1);
}
function sleep(s,n) {
setTimeout('change_img('+n+',0)', s);
}
Но так вообще нигде корректно не работает

Есть у кого идеи по кроссбраузерной реализации моей задачи?
P.S: AJAX не хотел бы использовать...
Спустя 23 минуты, 10 секунд (29.04.2010 - 12:31) ZSH написал(а):
setInterval
Спустя 2 минуты, 34 секунды (29.04.2010 - 12:33) Jinus написал(а):
Цитата (ZSH @ 29.04.2010 - 09:31) |
setInterval |
Эта ф-ция не подходит:
1. Как я буду менять названия изображений?
2. Как я остановлю её кода изображения закончатся?
Спустя 8 минут, 13 секунд (29.04.2010 - 12:42) ZSH написал(а):
var lala = setInterval(.....);
clearInterval(lala); остановит
Спустя 18 минут, 15 секунд (29.04.2010 - 13:00) Jinus написал(а):
Цитата (ZSH @ 29.04.2010 - 09:42) |
var lala = setInterval(.....); clearInterval(lala); остановит |
как не старался, всё равно не получается - либо я вас не понимаю, либо вы меня...
Мне нужно показать 5 картинок с интервалом в 1 секунду, но только 1 раз.
Если вы правильно поняли, то объясните плз как можно этой ф-цией решить задачу.
Спустя 9 минут, 58 секунд (29.04.2010 - 13:10) ZSH написал(а):
примерно так:
http://javascript.ru/setInterval
var img = 1;
var interval = setInterval("change_img", 1000);
function change_img()
{
вставляеш картинку img
img = img + 1;
if(img > 5)
{
clearInterval(interval);
}
}
http://javascript.ru/setInterval
Спустя 4 минуты, 46 секунд (29.04.2010 - 13:15) Jinus написал(а):
Цитата (ZSH @ 29.04.2010 - 10:10) |
примерно так:var img = 1; |
Я пробовал этот вариант - не работает.
Что примечательно: ошибок никто не выдаёт...
Цитата |
http://javascript.ru/setInterval |
Читал уже...
Спустя 4 минуты, 33 секунды (29.04.2010 - 13:19) ZSH написал(а):
покаж функцию change_img()
Спустя 2 минуты, 59 секунд (29.04.2010 - 13:22) Jinus написал(а):
Цитата (ZSH @ 29.04.2010 - 14:19) |
покаж функцию change_img() |
function change_img(i, t)
{
if(t == 0) {
document.n01.src = '../path/'+i+'.jpg';
} else {
bla bla bla
}
}
Спустя 5 часов, 2 минуты, 51 секунда (29.04.2010 - 18:25) ZSH написал(а):
полный путь к картинке попоробуй
Спустя 22 минуты, 5 секунд (29.04.2010 - 18:47) Jinus написал(а):
Цитата (ZSH @ 29.04.2010 - 19:25) |
полный путь к картинке попоробуй |
Дык ф-ция же рабочая...или при использовании setInterval есть свои ньюансы?
P.S.:Скрипт на работе - щас нету возможности проверить.
Спустя 3 часа, 24 минуты, 30 секунд (29.04.2010 - 22:11) ZSH написал(а):
<script language="javascript">
var i = 1;
var interval = setInterval(change_img, 1000);
function change_img()
{
document.images.name_img.src = 'images/img'+i+'.jpg';
i = i + 1;
if(img > 5)
{
clearInterval(interval);
}
}
</script>
вот 100% работает
Спустя 12 часов, 4 минуты, 13 секунд (30.04.2010 - 10:16) Jinus написал(а):
спс, работает!!!
Но почему тода мой вариант не работал?
Но почему тода мой вариант не работал?

Спустя 30 минут, 13 секунд (30.04.2010 - 10:46) ZSH написал(а):
обрати внимание на отсутствие кавычек при вызове функции change_img из setInterval
P.S.: я сам сначала ступил
var interval = setInterval(change_img, 1000);
P.S.: я сам сначала ступил
Спустя 33 минуты, 54 секунды (30.04.2010 - 11:20) Jinus написал(а):
Цитата (ZSH @ 30.04.2010 - 11:46) |
обрати внимание на отсутствие кавычек при вызове функции change_img из setInterval |
Да, но:
Цитата |
В каком виде указывать первый параметр - разницы нет. |
(с) javascript.ru

Спустя 43 минуты, 47 секунд (30.04.2010 - 12:04) ZSH написал(а):
вот этого я не знаю
, но с кавычками не работало, и я не однократно заморачивался в таких случаях с setInterfal и settimeOut.
может ктото из более понимающих в JS объяснит

может ктото из более понимающих в JS объяснит

Спустя 12 минут, 48 секунд (30.04.2010 - 12:16) Jinus написал(а):
Цитата (ZSH @ 30.04.2010 - 13:04) |
вот этого я не знаю, но с кавычками не работало, и я не однократно заморачивался в таких случаях с setInterfal и settimeOut. может ктото из более понимающих в JS объяснит |
Ок, спс биг за помощь
_____________
Жизнь вообще тяжёлая штука, но с?ка интересная.