Показать сообщение отдельно
  #19 (permalink)  
Старый 14.12.2011, 20:31
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Обратный таймер. Наверное можно сделать проще, но у меня получилось так
//в этой строке время выставляется в часах(0), минутах(0), секундах(30) и миллисекундах(0)
var x = (0 * 3600000) + (0 * 60000) + (30 * 1000) + 0;

<html>
	<head>
		<meta charset="utf-8">
		<style type="text/css">
			body { background-color:#ffcc33; margin:0px; }
			div { color:#0033cc; font:bold 12pt Tahoma; margin:15px; }
		</style>
		<script type="text/javascript">
			var backTimer = (function() {
				var x = (0 * 3600000) + (0 * 60000) + (30 * 1000) + 0;
				var now, tm, offset = 0, i = 0;
				return function() {
					switch(arguments[0]) {
						case true:
							if(offset === 0) {
								now = new Date();
								offset = now.getTimezoneOffset() * 60000;
							}
							else {
								return ;
							}
							break;
						case false:
							if(offset !== 0) {
								clearTimeout(arguments.callee);
								i = x - tm.getTime() + offset;
								offset = 0;
							}
					}
					if(offset !== 0) {
						tm = new Date((new Date()).getTime() - now.getTime() + i);
						if(tm.getTime() < x) {
							tm.setTime(x - tm.getTime() + offset);
							document.getElementsByTagName('div')[0].innerHTML = tm.toLocaleTimeString();
							setTimeout(arguments.callee, 500);
						}
						else {
							clearTimeout(arguments.callee);
							tm.setTime(0 + offset);
							document.getElementsByTagName('div')[0].innerHTML = tm.toLocaleTimeString();
							offset = 0;
							i = 0;
						}
					}
				}
			})();
		</script>
	</head>
	<body>
		<input type="button" onclick="backTimer(true)" value="Start">
		<input type="button" onclick="backTimer(false);" value="Pause">
		<div>Div HTML</div>
	</body>
</html>
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 14.12.2011 в 20:34.
Ответить с цитированием