Сообщение от 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 = {
n: null,
s: new Date,
f: 1,
t: new Date,
Timer: function () {
T.t = new Date(T.t.getTime() + T.f * ((new Date).getTime() - T.s.getTime()));
document.getElementsByTagName("div")[0].innerHTML = T.t.toLocaleTimeString();
T.s = new Date;
T.n = setTimeout(function () {
T.Timer()
}, 500)
},
New_start: function () {
clearTimeout(T.n);
T.t.setHours(0, 0, 0, 0);
T.s = new Date;
T.Timer()
},
Pause: function () {
T.s ? (clearTimeout(T.n), T.s = "") : (T.s = new Date, T.Timer())
},
BackTimer: function () {
clearTimeout(T.n);
T.f = -T.f;
T.s = new Date;
T.Timer()
},
Set: function () {
var a = parseInt(document.getElementById("sec").value, 10) || 0;
T.t.setHours(0, 0, a, 0);
document.getElementsByTagName("div")[0].innerHTML = T.t.toLocaleTimeString()
}
};
</script>
</head>
<body>
<input type="button" onclick="T['New_start']()" value="Start/New">
<input type="button" onclick="T['Pause']()" value="Pause/Go">
<input type="button" onclick="T['BackTimer']();" value="BackTimer">
<input type="button" onclick="T['Set']();" value="Set">
<label><input type="text" value="30" id="sec">sec</label>
<div>Div HTML</div>
</body>
</html>