Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Проблемма с паузой между выполнением команд (https://javascript.ru/forum/events/22930-problemma-s-pauzojj-mezhdu-vypolneniem-komand.html)

Toxsin 05.11.2011 21:37

Проблемма с паузой между выполнением команд
 
Есть вот такой скрипт который я запускаю у себя в браузере(я в этом полный лох и поэтому не понимаю почему все 10 окон запускаются одновременно):
<html>
	 
	    <head>
	        <script type="text/javascript">
	        
	            function serf() { 
             var i=0;
                 s=0;
                 m=1000;
for (i=0;i<=10; i++)
	                {
m=m+1000;
	      switch(i)
                {
           case 1: 
                s=window.open('http://acesse.com/search.php?t=WebSearch&q=www')
                break;
           case 2: 
                s=window.open('http://acesse.com/search.php?t=WebSearch&q=qqq')
                break;
           case 3: 
                s=window.open('http://acesse.com/search.php?t=WebSearch&q=eee')
                break;
           case 4: 
                s=window.open('http://acesse.com/search.php?t=WebSearch&q=rrr')
                break;
           case 5: 
                s=window.open('http://acesse.com/search.php?t=WebSearch&q=ttt')
                break;
           case 6: 
                s=window.open('http://acesse.com/search.php?t=WebSearch&q=yyy')
                break;     
           case 7: 
                s=window.open('http://acesse.com/search.php?t=WebSearch&q=uuu')
                break;     
           case 8: 
                s=window.open('http://acesse.com/search.php?t=WebSearch&q=iii')
                break;     
            case 9: 
                s=window.open('http://acesse.com/search.php?t=WebSearch&q=ooo')
                break;    
            case 10: 
                s=window.open('http://acesse.com/search.php?t=WebSearch&q=ppp')
                break;    
                            
	       	  }
	       setTimeout("s", m);
	                }
	            }
	            
	         </script>
	         
	    </head>
	 
	    <body>  
	         <input type="button" onclick="serf()" value="ФАК"/>
	    </body>
	 
	</html>

я так понимаю, что при нажатии на кнопку должны открываться ссылки "s" с перерывом в "m", но они открываются подряд без задержки

Gvozd 05.11.2011 21:45

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Toxsin 05.11.2011 21:46

так??

dmitriymar 05.11.2011 21:51

ну почемуже одновременно? задержка есть -ровно в одну интерацию цикла.
Цитата:

Сообщение от Toxsin
s=window.open('http://acesse.com/search.php?t=WebSearch&q=www')

интересно что вы в s планировали получить?
Цитата:

Сообщение от Toxsin
setTimeout("s", m);

а это вообще интересно, s у вас не функция чтоб её вызывать.

var s=window.open('http://acesse.com/search.php?t=WebSearch&q=www')
alert(s)

Toxsin 05.11.2011 21:53

а как сделать чтобы ссылки s вызывались скажем с итервалом в 1 секунду, ну или 2??

dmitriymar 05.11.2011 21:58

var m=3000;
setTimeout(function() {window.open('http://acesse.com/search.php?t=WebSearch&q=www')},m)

Toxsin 05.11.2011 22:01

да но в таком случае откроется только одна ссылка, а там их 10 разных. хотелось бы загнать всё это в цикл, да вот с синтаксисом чет плоховато(((

dmitriymar 05.11.2011 22:08

что мешает этот код повторить 10 раз меняя ссылки и интрвал?

trikadin 05.11.2011 22:12

Как-то так:

url_list=["ссылка один", "ссылка два"]; // сюда впишете все ссылки, которые вам нужны.
i=0;

interval= setInterval(function(){
 window.open(url_list[i]);
 if (++i == url_list.length)
  clearInterval(interval);
}, 2000); // здесь в миллисекундах интервал.

dmitriymar 05.11.2011 22:13

var mas=['http://acesse.com/search.php?t=WebSearch&q=www','http://acesse.com/search.php?t=WebSearch&q=ppp'];
var m=1000;
for(var i=0;i<mas.length;i++)
 {
  m=m+1000;
  setTimeout(function() {window.open(mas[i])},m);
 }


Часовой пояс GMT +3, время: 00:04.