| 
	| 
	
	| 
		
	| 
			
			 
			
				09.02.2010, 22:13
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 04.11.2008 
						Сообщений: 61
					 
		
 |  |  
	| 
				Добавление текста с задержкой
			 Здравствуйте! Есть код: 
<html>
 <head>
  <title>Пример скрипта</title>
  <script type="text/javascript" language="javascript">
  
    function animateText(usertext)
    {
     var elem = document.getElementById('text');
     function insertText()
     {
      elem.innerText = usertext;
      elem.textContent = usertext;
     }
     setTimeout('insertText()', 1000);
    }
  </script> 
  <style type="text/css">
   #text { border: 1px solid #000;
           padding: 2px;
           width: 200px;
           height: 50px;
           font: 12px Verdana;
         }
  </style>
 </head>
 <body>
  
  <button onclick="animateText('Мой текст...')">Кликни</button> <p />
  <div id="text"> </div>
 </body>
</html>
В строке 15 вызываю функцию insertText() с задержкой на 1 секунду, но при клике ничего не происходит( Причём если подставить вместо неё алерт, он сработает как нужно, и без задержки insertText() тоже работает как нужно... почему setTimeout так себя ведёт и как решить проблему? |  |  
	| 
		
	| 
			
			 
			
				09.02.2010, 22:42
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 19.02.2008 
						Сообщений: 9,177
					 
		
 |  |  
	| 
	
 
	| Сообщение от YISHIMITSY |  
	| почему setTimeout так себя ведёт |  
	
 Потому что не надо ему строку передавать.
 
setTimeout(insertText, 1000);
 |  |  
	| 
		
	| 
			
			 
			
				09.02.2010, 23:12
			
			
			
		 |  
	| 
		
			
			| Любитель       |  | 
					Регистрация: 16.12.2009 
						Сообщений: 422
					 
		
 |  |  
	| Kolyaj,
  |  |  
	| 
		
	| 
			
			 
			
				10.02.2010, 08:58
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 04.11.2008 
						Сообщений: 61
					 
		
 |  |  
	| 
	
 
	| Сообщение от Kolyaj   |  
	| Потому что не надо ему строку передавать. 
 
setTimeout(insertText, 1000);
 |  
	
 Так он к ней обращается, но при этом не делает задержку вообще. Хотя при этом alert срабатывал даже заключённый в ковычки...			 Последний раз редактировалось YISHIMITSY, 10.02.2010 в 09:00.
 |  |  
	| 
		
	| 
			
			 
			
				10.02.2010, 09:26
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 19.02.2008 
						Сообщений: 9,177
					 
		
 |  |  
	| 
	
 
	| Сообщение от YISHIMITSY |  
	| Так он к ней обращается, но при этом не делает задержку вообще. |  
	
 А вы точно всё правильно переписали, никаких скобочек по своему разумению не добавили? |  |  
	| 
		
	| 
			
			 
			
				10.02.2010, 18:15
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 04.11.2008 
						Сообщений: 61
					 
		
 |  |  
	| Kolyaj, спасибо, я понял. Без круглых скобок работает как нужно) Но только не пойму, почему тогда срабатывал alert() когда там были скобки? И если потребуется передать параметры, как тогда быть? |  |  
	| 
		
	| 
			
			 
			
				10.02.2010, 18:17
			
			
			
		 |  
	| 
		
			
			| Новичок на форуме       |  | 
					Регистрация: 19.02.2008 
						Сообщений: 9,177
					 
		
 |  |  
	| 
	
 
	| Сообщение от YISHIMITSY |  
	| И если потребуется передать параметры, как тогда быть? |  
	
 
setTimeout(function() {
    insertText(param);
}, 1000);
 |  |  
	| 
		
	| 
			
			 
			
				10.02.2010, 21:54
			
			
			
		 |  
	| 
		
			|  | Модератор Всея Форума       |  | 
					Регистрация: 14.05.2009 
						Сообщений: 4,021
					 
		
 |  |  
	| 
	
 
	| Сообщение от YISHIMITSY |  
	| И если потребуется передать параметры, как тогда быть? |  
	
 
setTimeout(insertText, 1000, params);
 |  |  
	| 
		
	| 
			
			 
			
				10.02.2010, 21:56
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 15.12.2009 
						Сообщений: 742
					 
		
 |  |  
	| 
	
 
	| Сообщение от B~Vladi |  
	| setTimeout(insertText, 1000, params); |  
	
 Ошибочное мнение. Работает только в MZ. Проверено на своем опыте.
				__________________ Настоящий программист думает и осознает сам  решение задачи, а не копирует другие мысли, не осознавая их (c) 
Относись к человеку так же , как хотелось бы отношения к себе (с) 
Все нужно там, где оно нужно , а все не нужно нигде (с) Gozar
B~Vladi:  А кто такой JavaScript стрелок?! micscr:  это тот, кто не jQuery танкист. 
Программы становятся медленнее быстрее, чем компьютеры становятся быстрее (с) Никлаус Вирт |  |  
	| 
		
	| 
			
			 
			
				10.02.2010, 22:08
			
			
			
		 |  
	| 
		
			|  | Модератор Всея Форума       |  | 
					Регистрация: 14.05.2009 
						Сообщений: 4,021
					 
		
 |  |  
	| 
	
 
	| Сообщение от PeaceCoder |  
	| Ошибочное мнение. Работает только в MZ. Проверено на своем опыте. |  
	
 У меня работает везде  |  |  |  |