JavaScript для мага


Объект Date - часть 3


        minutes= now.getMinutes();

        seconds= now.getSeconds();

        timeStr= "" + hours;

        timeStr+= ((minutes < 10) ? ":0" : ":") + minutes;

        timeStr+= ((seconds < 10) ? ":0" : ":") + seconds;

        document.clock.time.value = timeStr;

 

        // дата

        date= now.getDate();

        month= now.getMonth()+1;

        year= now.getYear();

        dateStr= "" + month;

        dateStr+= ((date < 10) ? "/0" : "/") + date;

        dateStr+= "/" + year;

        document.clock.date.value = dateStr;

 

        Timer= setTimeout("clock()",1000);

}

 

// -->

</script>

</head>

 

<body onLoad="clock()">

 

<form name="clock">

  Время:

  <input type="text" name="time" size="8"  value=""><br>

  Дата:

  <input type="text" name="date" size="8" value="">

</form>

 

</body>

</html>

 

(online-версия руководства позволит Вам проверить этот скрипт немедленно)

 

Здесь для ежесекундной коррекции времени и даты мы пользуемся методом setTimeout(). Фактически это сводится к кому, что мы каждую секунду создаем новый объект Date, занося туда текущее время. Можно видеть, что функции clock() вызываются программой обработки события onLoad, помещенной в тэг <body>. В разделе body нашей HTML-страницы имеется два элемента формы для ввода текста. Функция clock() записывает в оба эти элемента в корректном формате текущие время и дату. Для этой цели используются две строки timeStr и dateStr.

Как мы уже упомянули ранее, существует проблема с индикацией, когда количество минут меньше 10 - в данном скрипте эта проблема решается с помощью следующей строки:

 

timeStr+= ((minutes < 10) ? ":0" : ":") + minutes;

 

Как видим, количество минут заносится в строку timeStr. Если у нас менее 10 минут, то мы еще должны приписать спереди 0. Для Вас эта строка в скрипте может показаться немного странной, и ее можно было бы переписать в более знакомом Вам виде:

 

if (minutes < 10) timeStr+= ":0" + minutes

  else timeStr+= ":" + minutes;

 




Начало  Назад  Вперед



Книжный магазин