Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обратный таймер (https://javascript.ru/forum/misc/23957-obratnyjj-tajjmer.html)

nerv_ 14.12.2011 20:38

trikadin, приветствую) Заодно с конструкцией switch(х) познакомился :)

trikadin 14.12.2011 23:24

Цитата:

Сообщение от nerv_ (Сообщение 142898)
trikadin, приветствую) Заодно с конструкцией switch(х) познакомился :)

Здравствуй)

Знакомство - хорошо, но её использование, на мой взгляд, в данном контексте не очень оправдано...

рони 14.12.2011 23:30

nerv_,
Вариант ...
<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 t = new Date,s,n;
t.setHours(0, 0, 0, 0);
function Timer() {
    t = new Date(t.getTime() + (new Date).getTime() - s.getTime());
    document.getElementsByTagName("div")[0].innerHTML = t.toLocaleTimeString();
    s = new Date;
    n = setTimeout(arguments.callee, 500)
}
function New_start() {
    t.setHours(0, 0, 0, 0);
    s = new Date;
    Timer()
}
function Pause() { 
    s ? (window.clearTimeout(n), s = !1) : (s = new Date, Timer())
};
		</script>
	</head>
	<body>
		<input type="button" onclick="New_start()" value="Start/New">
		<input type="button" onclick="Pause();" value="Pause/Go">
        <div>Div HTML</div>
    </body>
</html>

рони 14.12.2011 23:50

Вариант с прямым или обратным отсчётом ...
<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 t = new Date,f = 1,s,n;
t.setHours(0, 0, 0, 0);
function Timer() {
    t = new Date(t.getTime() + f*((new Date).getTime() - s.getTime()));
    document.getElementsByTagName("div")[0].innerHTML = t.toLocaleTimeString();
    s = new Date;
    n = setTimeout(arguments.callee, 500)
}
function New_start() {
    t.setHours(0, 0, 0, 0);
    s = new Date;
    Timer()
}
function Pause() { 
    s ? (window.clearTimeout(n), s = !1) : (s = new Date, Timer())
};

function BackTimer()
{
   f = -f
}

		</script>
	</head>
	<body>
		<input type="button" onclick="New_start()" value="Start/New">
		<input type="button" onclick="Pause();" value="Pause/Go">
        <input type="button" onclick="BackTimer();" value="BackTimer">
        <div>Div HTML</div>
    </body>
</html>

рони 15.12.2011 00:49

:write:
Вариант с установкой секунд ... )))
<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 t = new Date,f = 1,s,n;
t.setHours(0, 0, 0, 0);
function Timer() {
    t = new Date(t.getTime() + f*((new Date).getTime() - s.getTime()));
    document.getElementsByTagName("div")[0].innerHTML = t.toLocaleTimeString();
    s = new Date;
    n = setTimeout(arguments.callee, 500)
}
function New_start() {
    window.clearTimeout(n);
    t.setHours(0, 0, 0, 0);
    s = new Date;
    Timer()
}
function Pause() { 
    s ? (window.clearTimeout(n), s = !1) : (s = new Date, Timer())
};

function BackTimer()
{
   window.clearTimeout(n);
   f = -f;
   s = new Date;
   Timer()
}

function Set()
{
 var sec = parseInt(document.getElementById("sec").value, 10)||0
 t.setHours(0, 0, sec, 0);
 document.getElementsByTagName("div")[0].innerHTML = t.toLocaleTimeString();

}
		</script>
	</head>
	<body>
		<input type="button" onclick="New_start()" value="Start/New">
		<input type="button" onclick="Pause();" value="Pause/Go">
        <input type="button" onclick="BackTimer();" value="BackTimer">
        <input type="button" onclick="Set();" value="Set">
        <label><input type="text" value="30" id="sec">sec</label>
        <div>Div HTML</div>
    </body>
</html>

Aetae 15.12.2011 01:41

Вариант с прямым и обратным отсчётом, с установкой секунд, минут, часов, дней, недель, месяцев и лет, с сапёром и змейкой, с aero, с функцией gps, со звуками, распознаванием голоса и искусственным интеллектом ... ... и, наконец, с блэкджеком и шлюхами.
/*

щутка))

*/

melky 15.12.2011 01:45

Aetae, и главное, он написан на jquery !

trikadin 15.12.2011 01:51

Цитата:

Сообщение от Aetae
с aero

Выпал) Ахаха) :D

Livanderiaamarum 15.12.2011 01:53

Цитата:

Сообщение от Aetae (Сообщение 143001)
Вариант с прямым и обратным отсчётом, с установкой секунд, минут, часов, дней, недель, месяцев и лет, с сапёром и змейкой, с aero, с функцией gps, со звуками, распознаванием голоса и искусственным интеллектом ... ... и, наконец, с блэкджеком и шлюхами.
/*

щутка))

*/

aero :haha:

могёш)

nerv_ 15.12.2011 10:38

рони, благодарю) Теперь я понял, что делал неправильно -- все :lol: Объясните, пожалуйста, на примере вашей первой функции, как сделать так, чтобы в глобальной области видимости находилась только одна функция, а не кол-во функций + кол-во глобальных переменных?


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