Фоновый отсчет по нажатию.
Как сделать чтобы при нажатии на кнопку начался видимый отсчет времени например минуту отсчитывает ?
|
<script type="text/javascript"> window.onload = function(){ document.getElementById('a').onclick = function(i) { return function() { document.body.innerHTML = --i > 0 ? i : 'Oops!'; window.setTimeout(arguments.callee, 1000); return false; }; }(60); }; </script> <a href="#" id="a">click</a> |
<span id='timer'>60</span> <input type='button' onclick='start(); this.onclick = new Function;' value='начать отсчёт' /> <script type='text/javascript'> function start() { var t = document.getElementById("timer"); setTimeout(function () { if (--t.innerHTML == 0) t.innerHTML = "Time is out!"; else setTimeout(arguments.callee, 1000); }, 1000); } </script> |
Только это всё нифига не точно.)
Особенно если на странице работают тяжелые анимации или вкладка переключена. |
Цитата:
Цитата:
|
Кстати, если я не ошибаюсь в ES5 Strict mode исключили:
arguments.callee // TypeError arguments.caller // TypeError интересно узнать какой был мотив (может у кого-то есть соображения по этому поводу), т.к. взамен они ничего не предложили... |
С помощью Date стесно. Так хоть отображаться будет боль-мене точно.
|
Цитата:
|
Часовой пояс GMT +3, время: 00:48. |