Вход

Просмотр полной версии : Разбор кода на комментарии


GrizzlyBear
14.06.2012, 15:29
Скрипт "случайный выбор"
Я тут кое что понимаю ко что нет
Добавьте комментарии что за что отвечает

9xakep
14.06.2012, 15:43
GrizzlyBear,
1) cоздаем массив с элементами
2) Берем из нынещнего времени секунды: условно 37 секунд
3) берем остаток от деления 37 на 5 (37/5=7 и 2 в остатке)
4) Берем массив с индексом: 2, то бишь "...третье сообщение..."

GrizzlyBear
14.06.2012, 16:13
2) Берем из нынещнего времени секунды: условно 37 секунд

Из "нынешнего времени" - это время на "данный момент" ?

Hekumok
14.06.2012, 16:22
Из "нынешнего времени" - это время на "данный момент" ?
Это время, которое стоит в данный момент у пользователя

GrizzlyBear
14.06.2012, 16:44
А почему нельзя вынести эти два скрипта в один?

Dim@
14.06.2012, 17:31
GrizzlyBear,
так можно

GrizzlyBear
14.06.2012, 17:39
Ну я имею ввиду
чтобы вынести в отдельный файл код
а туда куда мне его нужно вставить выносить функцию чтоли

9xakep
14.06.2012, 18:21
в файле пишете ф-ию, подсоединяете его, и спользуете в коде. Так библиотеки же и работают в js.

GrizzlyBear
14.06.2012, 21:18
посмотрите код что конкретно я не так делаю ?

Dim@
14.06.2012, 21:24
GrizzlyBear,
где вы когда-нибудь видели онлоады на диве, а?

GrizzlyBear
14.06.2012, 21:26
Ну а как правильно сделать то ? )
я джаваскрипт тока начал изучать, вот сижуа пытаюсь хоть что то сделать

9xakep
14.06.2012, 21:26
GrizzlyBear,
У вас i не определена вначале:

time = new Date()
t = ( time.getSeconds() )%5;

if ( t == 0 ) i = 0;

if ( t == 1 ) i = 1;

if ( t == 2 ) i = 2;

if ( t == 3 ) i = 3;

if ( t == 4 ) i = 4;

var message = document.getElementById('ms'+i)








document.write('ms'+i);
message.style.display = 'block';

}

GrizzlyBear
14.06.2012, 21:36
Уже переставлял так все ровно не рабит

Dim@
14.06.2012, 21:46
GrizzlyBear,
да потому что после document.write весь документ переписывается и все message уже нет=)

Dim@
14.06.2012, 21:49
GrizzlyBear,
кстати ошибочка
<div id="me1" style="display:none">Второе сообщение</div>
id="me1" а не ms1

GrizzlyBear
14.06.2012, 21:55
Да эту ошибку я заметил )

Deff
14.06.2012, 22:21
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body onload="randomMS()">
<style>
#MyInf{
background:#71FF89;
}
.mes {
width:300px;
background:#B4B48E;
}

</style>

<div class="mes">
<legend id=MyInf></legend>

<div id="ms0" style="display:none">Первое сообщение</div>
<div id="ms1" style="display:none">Второе сообщение</div>
<div id="ms2" style="display:none">Третье сообщение</div>
<div id="ms3" style="display:none">Четвертое сообщение</div>
<div id="ms4" style="display:none">Пятое сообщение</div>


</div>
<script type="text/javascript">
function randomMS() {
var N = 5;
var i=Math.round(Math.random()*(N-1))

var message = document.getElementById('ms'+i)

document.getElementById('MyInf').innerHTML='ms'+i;

message.style.display = 'block';

}
</script>


</body>
</html>

Dim@
14.06.2012, 23:24
Deff,
не работает же

Deff
14.06.2012, 23:30
Dim@,
Хм - Принцип работы кода случайный выбор при загрузке страницы - тыкай несколько раз - Запустить
Запуск функции единственный (при загрузке body)
А что ти хотел увидеть ?

Dim@
14.06.2012, 23:33
Deff,
точно, ссори