Перейти к содержимому


Партнерская программа Kredov

Как сделать часы, которые идут во время просмотра страницы

#1 nitronn

nitronn
  • Пользователь
  • 8 сообщений
  • Репутация: 0
0

Отправлено 05 Ноябрь 2008 - 20:35

У меня вопрос к веб-мастерам, как мне сделать простые часы, которые будут идти во время просмотра страницы.
Пожалуйста, распишите алгоритм, буду признателен :)

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 05 Ноябрь 2008 - 22:35

Я так понял тебе нужны динамические часы, сделанные на JavaScript.
Тогда рассмотрим подобный код
<html>
<head>
<title>Часы на JS</title>
</head>

<script type="text/javascript">
<!-- 
function clock() {
	//Блок с часами, div с id="clockdiv"
 var block = document.getElementById('clockdiv');

	// Время в данный момент
 thistime = new Date();

 var hours=thistime.getHours(); //часы
 var minutes=thistime.getMinutes(); //минуты
 var seconds=thistime.getSeconds(); //секунды

   //Если часы = {0,9} то добавляем "0" перед числом
 if (eval(hours) <10) {hours="0"+hours};

   //Если минуты = {0,9} то добавляем "0" перед числом
 if (eval(minutes) < 10) {minutes="0"+minutes};

   //Если секунды = {0,9} то добавляем "0" перед числом
 if (seconds < 10) {seconds="0"+seconds};

   //Собираем время которое будем выводить
 thistime = hours+":"+minutes+":"+seconds;
 
 block.innerHTML = thistime; //Заносим полученное время в блок
 var timer = setTimeout("clock()", 500); // Таймер на вызов функции clock() каждые 0.5 секунды
}

// - End of JavaScript - -->
</script>

</head>
<body onLoad="clock()">
<div id="clockdiv" style="color: #000;"></div>
</body>
</html>

И так... Разбирём работу скрипта.
1) Когда идёт загрузка страницы, с помощью атрибута тега <body>, onLoad мы вызываем функцию clock()
2) В функции мы определяем текущее время.
3) Затем мы его форматируем, добавляем 0 к времени там, где цифра < 10
4) Собираем время
5) Помещаем данное время в Блок(Если там уже что-то было, то замещаем)
6) С помощью таймера, мы вызываем данную функцию до закрытия страницы браузера каждые полсекунды.

Полсекунды нужны для того, чтобы время проверялось чаще, можно сделать время и секунду, просто полсекунды будет правильнее :)
  • 0

#3 nitronn

nitronn
    Topic Starter
  • Пользователь
  • 8 сообщений
  • Репутация: 0

Отправлено 06 Ноябрь 2008 - 19:01

Большое спасибо
  • 0

#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 07 Ноябрь 2008 - 22:45

Всегда пожалуйста :)
  • 0

#5 DuMC

DuMC
  • Пользователь
  • 19 сообщений
  • Репутация: 0

Отправлено 19 Январь 2009 - 22:18

Вот тут посмотри,приличный выбор
  • 0

#6 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 19 Январь 2009 - 23:07

DuMC, люди в данной ветке не ищут готового, они просят показать пример...
  • 0

#7 DuMC

DuMC
  • Пользователь
  • 19 сообщений
  • Репутация: 0

Отправлено 20 Январь 2009 - 16:18

ну а там примеров гораздо больше))
  • 0

#8 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 20 Январь 2009 - 21:46

DuMC, половина скриптов на WoWeb выложены нифига не понимающими в данной теме людьми. Предоставляют ужасные скрипты и пишут к ним такие пояснения "Лучшего скрипта ... вы не найдёте! Он содержит в себе всё!", ну не глупо ли? Большая, а то и вся, часть скриптов без комментариев, и только начинающий человек без них не разберётся.
  • 0

#9 DuMC

DuMC
  • Пользователь
  • 19 сообщений
  • Репутация: 0

Отправлено 22 Январь 2009 - 15:04

а тот код что выше,можно ведь наложить с помощью PHP на страницу?
  • 0

#10 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 22 Январь 2009 - 20:45

а тот код что выше,можно ведь наложить с помощью PHP на страницу?

Опять неправильно сформулирован вопрос! Вы можете объяснить что значит наложить?
Мы можем сделать так

file.php
<?php
/* PHP КОД */
?>

<html>
<head>
<title>Часы на JavaScript</title>

<?php
/* PHP КОД */
?>

</head>

<script type="text/javascript">
<!--
function clock() {
	//Блок с часами, div с id="clockdiv"
var block = document.getElementById('clockdiv');

	// Время в данный момент
thistime = new Date();

var hours=thistime.getHours(); //часы
var minutes=thistime.getMinutes(); //минуты
var seconds=thistime.getSeconds(); //секунды

   //Если часы = {0,9} то добавляем "0" перед числом
if (eval(hours) <10) {hours="0"+hours};

   //Если минуты = {0,9} то добавляем "0" перед числом
if (eval(minutes) < 10) {minutes="0"+minutes};

   //Если секунды = {0,9} то добавляем "0" перед числом
if (seconds < 10) {seconds="0"+seconds};

   //Собираем время которое будем выводить
thistime = hours+":"+minutes+":"+seconds;

block.innerHTML = thistime; //Заносим полученное время в блок
var timer = setTimeout("clock()", 500); // Таймер на вызов функции clock() каждые 0.5 секунды
}

// - End of JavaScript - -->
</script>

</head>
<body onLoad="clock()">
<div id="clockdiv" style="color: #000;"></div>

<?php
/* PHP КОД */
?>

</body>
</html>

Вставки конечно можем делать. Но что значит в вашем понимании наложить код JavaScript(клиентский язык) на PHP(серверный язык). Ведь вы наверное понимаете, что JS просто на просто вставляется в HTML как и другие теги, только это уже язык программирования. Поэтому вам никто не запрещает использовать JS и HTML на страницах *.php
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru