Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Разбор кода на комментарии (https://javascript.ru/forum/misc/29093-razbor-koda-na-kommentarii.html)

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 (Сообщение 181415)
Из "нынешнего времени" - это время на "данный момент" ?

Это время, которое стоит в данный момент у пользователя

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,
точно, ссори


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