Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.11.2013, 15:32
Аспирант
Отправить личное сообщение для Apelcun77 Посмотреть профиль Найти все сообщения от Apelcun77
 
Регистрация: 14.11.2013
Сообщений: 37

Менять каждую секунду цвет фона
НАписал функцию
function mig() {
var x = Number(document.getElementById("setMig").innerHTML);
var y = 0;
    function red_white() {
	if ( y < x ) {
	var	y=y + 1;
	function red() {
    document.bgColor = red;
	setTimeout(white(), 1000);
    }
	function white() {
    document.bgColor = white;
	setTimeout(red_white(), 1000);
    }
	}
	}
}

И HTML
<input type="text" name="setMig">
<input type="submit" onClick="mig()" value="Подтвердить">

Нужно чтобы ты вводиш значение в текстовое поле (например 10), нажимаеш на кнопу и задний фон меняет 10 раз цвет фона с красного на белый. Не могу найти ошибку в коде, он не работает. Помогите, заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 20.11.2013, 16:09
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,209

Сообщение от Apelcun77
Не могу найти ошибку в коде
Она очевидна...

Сообщение от Apelcun77
setTimeout(white(), 1000);
Нужно
setTimeout(white, 1000);


И
Сообщение от Apelcun77
setTimeout(red_white(), 1000);
Нужно
setTimeout(red_white, 1000);
Ответить с цитированием
  #3 (permalink)  
Старый 20.11.2013, 17:19
Аспирант
Отправить личное сообщение для Apelcun77 Посмотреть профиль Найти все сообщения от Apelcun77
 
Регистрация: 14.11.2013
Сообщений: 37

спасибо, но все равное не работает,может дело не в синтаксисе а в логике? что делать
Ответить с цитированием
  #4 (permalink)  
Старый 20.11.2013, 17:58
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Apelcun77
Менять каждую секунду цвет фона
90-е вроде прошли?

Сообщение от Apelcun77
может дело не в синтаксисе а в логике?
Вам как-раз таки указали на ошибку в логике

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

http://learn.javascript.ru/play/38hZ8b

<!DOCTYPE HTML>
<html>
  <head></head>
  <body>
    <input id="mig" type="text">
    <input onclick="setMig()" type="button" value="SET">

    <script>
      var mig = document.getElementById('mig'),
          body = document.body || document.getElementsByTagName('body')[0],
          migInt;
      
      function setMig() {
        var n = +mig.value, f;
        if(!n) return;
        if(migInt) clearInterval(migInt);
        
        migInt = setInterval(function() {
          body.bgColor = (f ^= 1) ? '#FF0000' : '#FFF';
          if(!--n) {
            clearInterval(migInt);
            migInt = null;
          }
        }, 1000);
      }
    </script>

  </body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 21.11.2013, 17:13
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Еще вариант
<!DOCTYPE HTML>
<html>
  <head></head>
  <body>
    <input id="mig" type="text" value="10">
    <input onclick="setMig()" type="button" value="SET">
    <script>
      var setMig = function () {
          var quantity = +document.getElementById('mig').value,
            body = document.body || document.getElementsByTagName('body')[0];
          quantity && blink(body, quantity, 'red');
        },
        blink = function (element, quantity, color) {
          var i = 0,
            quantity = quantity * 2,
            animTimer = setInterval(function () {
              element.bgColor = element.bgColor ? '' : color;
              ++i == quantity && clearTimeout(animTimer);
            }, 500);
        };
    </script>
  </body>
</html>

Последний раз редактировалось Vlasenko Fedor, 21.11.2013 в 21:41.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как после загрузки html-страницы менять прозрачность фона у флэшки? andrew_F Общие вопросы Javascript 0 25.04.2012 15:03
Менять цвет фона select option при наведении Dmitriykh Элементы интерфейса 3 25.07.2011 13:04
Менять цвет фона по клику по ссылке Djeman jQuery 3 14.05.2011 12:22
Функция выполняющаяся каждую секунду Neokortex Общие вопросы Javascript 1 15.10.2010 13:47
изменить цвет фона и запомнить его delias Элементы интерфейса 4 19.03.2010 17:34