Повторение javascript кода бесконечно! Есть код,хочу заставить его повторяться

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

11 окт 2013, 13:31

Тот самый код:
<script language="JavaScript"> //НАЧАЛО
function img()
{
now=new Date();
hour=now.getHours()+1;
min=now.getMinutes()+1;
sec=now.getSeconds()+1;
if ((hour>=9)&&(hour<=12))
{
if ((min>=50)&&(min<=60))
{
if ((sec>=1)&&(sec<=60)) document.write("<img src=../images/b2.gif>");
else document.write("<img src=../images/b0.gif>");
}
else document.write("<img src=../images/b0.gif>");
}
else document.write("<img src=../images/b0.gif>");
}
}

</script>
<script language="JavaScript">img();</script>
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

11 окт 2013, 13:49

Саму себя вызови, а лучше по таймеру/интервалу. Просто бесконечный забой функции браузеры останавливают..
[syntax=Delphi] [/syntax]
viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

11 окт 2013, 13:59

Так..так...
Таким методом setTimeout попробовал, как вы и говорите:
<script language="JavaScript"> //НАЧАЛО
function img()
{
now=new Date();
hour=now.getHours()+1;
min=now.getMinutes()+1;
sec=now.getSeconds()+1;
if ((hour>=9)&&(hour<=12))
{
if ((min>=50)&&(min<=60))
{
if ((sec>=1)&&(sec<=60)) document.write("<img src=../images/b2.gif>");
else document.write("<img src=../images/b0.gif>");
}
else document.write("<img src=../images/b0.gif>");
}
else document.write("<img src=../images/b0.gif>");
}
}

setTimeout(img (),1000);
</script>
<script language="JavaScript">img();</script>

Страница обновляется через секунду, но она пустая!
viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

11 окт 2013, 14:01

В функцию вставлял..
<script language="JavaScript"> //НАЧАЛО
function img()
{
now=new Date();
hour=now.getHours()+1;
min=now.getMinutes()+1;
sec=now.getSeconds()+1;
if ((hour>=9)&&(hour<=12))
{
if ((min>=50)&&(min<=60))
{
if ((sec>=1)&&(sec<=60)) document.write("<img src=../images/b2.gif>");
else document.write("<img src=../images/b0.gif>");
}
else document.write("<img src=../images/b0.gif>");
}
else document.write("<img src=../images/b0.gif>");
setTimeout(img (),1000);
}
</script>}


<script language="JavaScript">img();</script>

Страница обновляется через секунду, но она пустая!
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

11 окт 2013, 14:30

document.write затирает страницу скорее всего, лучше использовать innerHTML
[syntax=Delphi] [/syntax]
viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

11 окт 2013, 14:49

<script>
...код...

document
.getElementById('time_div')
.innerHTML=clock;
setTimeout(showTime,1000);
}

</script>

и в нужном месте в HTML создать div id='time_div'?
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

11 окт 2013, 15:03

да .
[syntax=Delphi] [/syntax]
viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

11 окт 2013, 15:41

В таком случае ничего не происходит!(((
<div id='fon'>

<script language="JavaScript"> //НАЧАЛО
function img()
{
now=new Date();
hour=now.getHours()+1;
min=now.getMinutes()+1;
sec=now.getSeconds()+1;
if ((min>=50)&&(min<=60))
{
if ((sec>=1)&&(sec<=60)) document.write("<img src=../images/b2.gif>");
else document.write("<img src=../images/b0.gif>");
}
else
{
if ((sec>=1)&&(sec<=60)) document.write("<img src=../images/b2.gif>");
else document.write("<img src=../images/b0.gif>");
}
document
.getElementById('times_div')
.innerHTML=clock;
img(img,10000); // перерисовать 1 раз в 10 сек.
}
</script>
<div id="times_div" style="padding: 23px; height: 100%; width:100%;">
</div><script type="text/javascript">img();</script> <!--КОНЕЦ-->
</div>
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

11 окт 2013, 15:55

Наверное иннерить нужно результат чего-то а не неизвестную функцию clock;
document.getElementById('times_div').innerHTML="<img src=../images/b0.gif>" итд
Прогуглите методы innerHTML document.write чтоб понимать разницу..
[syntax=Delphi] [/syntax]
viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

11 окт 2013, 16:31

В таком случае, увеличивается количество фотографий в разы! Но функция не обновляется.
Ответить