Показать сообщение отдельно
  #5 (permalink)  
Старый 24.11.2013, 11:12
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Если я правильно понял, то Вам нужно это:

var i = 0, timeout;

function func1(){
	
	x = Number(document.form1.inp1.value);
	
	
		if(document.bgColor=="yellow") document.bgColor="white";
		else document.bgColor="yellow";
		timeout = setTimeout(func1, 2000);
		i++;
	
	if (Number(i)==Number(x)) clearTimeout(timeout);
}


Упрощённый вариант:

var i = 0, timeout;

function func1() {
	document.bgColor = document.bgColor == 'yellow' ? '#000' : 'yellow';
	timeout = setTimeout(func1, 2000);
	if (++i == document.form1.inp1.value) clearTimeout(timeout);
}


Правильный вариант:
function func1() {
	var i = 0, int, m, n = document.form1.inp1;
	int = setInterval(function() {
		document.body.bgColor = (m ^= 1) ? 'yellow' : '#000';
		if(++i == n.value) clearInterval(int);
	}, 2000);
}

Последний раз редактировалось ruslan_mart, 24.11.2013 в 11:25.
Ответить с цитированием