Показать сообщение отдельно
  #1 (permalink)  
Старый 25.10.2012, 14:18
Интересующийся
Отправить личное сообщение для Blanco Посмотреть профиль Найти все сообщения от Blanco
 
Регистрация: 20.10.2012
Сообщений: 16

Оптимизация часов
Нагуглил скрипт простейших часиков, и попробовал оптимизировать. Но так как я с яваскриптом только знакомлюсь, боюсь как бы я наоборот его не раздул

Подскажите насколько правильно я сделал, и как ещё можно производительность поднять.

Вот то что скачал:
<p id="txt"></p>
function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
// add a zero in front of numbers<10
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
t=setTimeout(function(){startTime()},500);
}

function checkTime(i)
{
if (i<10)
  {
  i="0" + i;
  }
return i;
}
startTime();


А вот так я его попробовал оптимизировать:
<b><span id="th"></span>:<span id="tm"></span>:<span id="ts"></span></b>
function simpleClock() {
		var today = new Date(),
			h = today.getHours(),
			m = today.getMinutes(),
			s = today.getSeconds(),
			th = document.getElementById('th'),
			tm = document.getElementById('tm'),
			ts = document.getElementById('ts');

		th.innerHTML = h;
		tm.innerHTML = checkTime(m);
		ts.innerHTML = checkTime(s);

		function checkTime(i) {
			(i > 9) || (i = '0' + i);
			return i;
		}

		function sec() {
			if (s < 9) {
				s++;
				ts.innerHTML = '0' + s;
			} else if (s < 59) {
				s++;
				ts.innerHTML = s;
			} else {
				clearInterval(t);
				simpleClock();
			}
		}
		t = setInterval(sec, 1000);
	}
	simpleClock();


Это конечно всё не в целях выиграть каплю процессорного времени, но в целях обучения.
Ответить с цитированием