Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   элементы массива меняются автоматически (https://javascript.ru/forum/dom-window/35344-ehlementy-massiva-menyayutsya-avtomaticheski.html)

Гелена 08.02.2013 08:55

элементы массива меняются автоматически
 
есть три массива
klient = new Array("...","...","...","...");
imf = new Array("...","...","...");
tovar = new Array("...","...","...");
они выводятся случайным образом
var nk = klient.length-1; var i = Math.round(nk*Math.random());
var nt = tovar.length-1; var j = Math.round(nt*Math.random());
document.write(klient[i] +" купил " + tovar[j]);
document.write ("<img src=ris/"+imf[i]+".gif>");


Как сделать чтобы текст и картинки менялись автоматически с интервалом 2 с

danik.js 08.02.2013 09:26

У вас клиенты покупают товары с интервалом ровно 2 секунды? Врать не хорошо )) Да еще и по заранее заданному списку?

ksa 08.02.2013 09:31

Цитата:

Сообщение от Гелена
Как сделать чтобы текст и картинки менялись автоматически с интервалом 2 с

Тебе помогут
http://javascript.ru/setTimeout
http://javascript.ru/setInterval

Гелена 08.02.2013 09:58

написала
setTimeout(function kl() { document.write(klient[i]+"купил"+tovar[j]); }, 2000)

setTimeout(function img() { document.write("<img src=ris/"+inf[i]+".gif>"); }, 2000)

не работает.
хочу разобраться.
спасибо.

рони 08.02.2013 10:30

Цитата:

Сообщение от Гелена
document.write

innerHTML

Гелена 08.02.2013 10:38

innerHTML не работает.

рони 08.02.2013 10:39

Цитата:

Сообщение от Гелена
innerHTML не работает.

создайте элемент который будет отображать ваши сообщения и туда с помощью innerHTML вставляйте рандомные строки

ksa 08.02.2013 10:51

Цитата:

Сообщение от Гелена
innerHTML не работает

Бивас, тест! (с) :D

<div id='test'></div>
<script>
document.getElementById('test').innerHTML='Test';
</script>

Таки работает!

Гелена 08.02.2013 11:00

а как через функцию setTimeout?

ksa 08.02.2013 11:05

Цитата:

Сообщение от Гелена
а как через функцию setTimeout?

Да так же...

<div id='test'></div>
<script>
setTimeout(test,200);
function test() {
   var o=document.getElementById('test');
   var i=-o.innerHTML;
   o.innerHTML=-i+1;
   setTimeout(test,200);
};
</script>

Гелена 08.02.2013 11:08

а без innerHTML?
спасибо за ответы.

ksa 08.02.2013 11:14

Цитата:

Сообщение от Гелена
а без innerHTML?

Ээээ, а с чем тогда?

рони 08.02.2013 11:18

Гелена,
<!DOCTYPE html >
<html>
<head>
  <title></title>
<meta charset="utf-8" />
</head>
<body><div id='test'></div>
<script type="text/javascript">
 function show()
 {
 var klient = new Array("Andrew","Thomas","Robert","Jack"),
 imf = new Array("dance3","victory","thank_you2"),
 tovar = new Array("corn","banana","cherry"),
 nk = klient.length-1,
 i = Math.round(nk*Math.random()),
 nt = tovar.length-1,
 j = Math.round(nt*Math.random()),
 ni = imf.length-1,
 k = Math.round(ni*Math.random()),
 str =  klient[i] +" купил " + tovar[j] + " <img src='http://javascript.ru/forum/images/smilies/"+imf[k]+".gif'>";
 document.getElementById('test').innerHTML=str
 setTimeout(show, 2000)
 }
show()
</script>
</body>
</html>

Гелена 08.02.2013 11:24

Спасибо.


Часовой пояс GMT +3, время: 05:38.