Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.02.2011, 11:05
Новичок на форуме
Отправить личное сообщение для CaypoH Посмотреть профиль Найти все сообщения от CaypoH
 
Регистрация: 20.02.2011
Сообщений: 1

Фоновый отсчет по нажатию.
Как сделать чтобы при нажатии на кнопку начался видимый отсчет времени например минуту отсчитывает ?
Ответить с цитированием
  #2 (permalink)  
Старый 20.02.2011, 12:15
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

<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>

Последний раз редактировалось monolithed, 20.02.2011 в 13:17.
Ответить с цитированием
  #3 (permalink)  
Старый 20.02.2011, 12:17
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

<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>
Ответить с цитированием
  #4 (permalink)  
Старый 20.02.2011, 12:20
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

Только это всё нифига не точно.)
Особенно если на странице работают тяжелые анимации или вкладка переключена.
Ответить с цитированием
  #5 (permalink)  
Старый 20.02.2011, 12:20
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Matre
this.onclick = new Function;
для чего это?


Сообщение от Aetae
Только это всё нифига не точно.)
Особенно если на странице работают тяжелые анимации или вкладка переключена.
есть иное предложение?

Последний раз редактировалось monolithed, 20.02.2011 в 12:26.
Ответить с цитированием
  #6 (permalink)  
Старый 20.02.2011, 12:58
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Кстати, если я не ошибаюсь в ES5 Strict mode исключили:
arguments.callee // TypeError 
arguments.caller // TypeError

интересно узнать какой был мотив (может у кого-то есть соображения по этому поводу), т.к. взамен они ничего не предложили...
Ответить с цитированием
  #7 (permalink)  
Старый 20.02.2011, 13:00
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

С помощью Date стесно. Так хоть отображаться будет боль-мене точно.
Ответить с цитированием
  #8 (permalink)  
Старый 20.02.2011, 13:06
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

Цитата:
для чего это?
Чтобы при повторном нажатии таймеры не накладывались друг на друга.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическре изменение цвета ячейки по нажатию на ссылку Bagira Элементы интерфейса 7 08.04.2011 16:54
Разрешение экрана и соответствующий ему фоновый рисунок Alenkaa (X)HTML/CSS 53 12.12.2010 16:59
Многократный обратный отсчет sultan.khayrulin Общие вопросы Javascript 1 30.05.2010 22:41
как отключить отсчет секунд? Dans Opera, Safari и др. 1 28.04.2010 14:17
по нажатию радио выбрать чекбоксы Zzet Общие вопросы Javascript 7 08.12.2009 14:48