Фоновый отсчет по нажатию.
Как сделать чтобы при нажатии на кнопку начался видимый отсчет времени например минуту отсчитывает ?
|
<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, время: 03:52. |