Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Таймер и всплывающие окна. (https://javascript.ru/forum/misc/43447-tajjmer-i-vsplyvayushhie-okna.html)

Станислав89 05.12.2013 16:44

Таймер и всплывающие окна.
 
Всем привет.
Подскажите пожалуйста, как создать такой скрипт. - Нужно, чтобы каждые 5 секунд всплывало новое окно html.
У меня получается только олдно создать, вот скрипт -

setTimeout('window.open("ironmaiden.html")', 2000);

если setTimeout, дублировать ниже, но с другой ссылкой копирует последние значене setTimeout, т.е. последнее окно.

Заранее благодарю.

Arramis 05.12.2013 17:42

Цитата:

Сообщение от Станислав89 (Сообщение 284764)
если setTimeout, дублировать ниже, но с другой ссылкой копирует последние значене setTimeout, т.е. последнее окно.

это происходит потому, что window.open() возращает ссылку на созданное окно, если опять вызывать window.open но с другим URL, то эта ссылка поменяется, а вместе с ней изменится и URL в адресной строке, что и повлечет за собой переход по нему в текущем окне, а не в новом.

чтобы этого избежать, возвращаемую ссылку надо "убивать":
var links = ['google.com', 'ya.ru', 'vk.com', 'facebook.com'], i = 0, win = 0, left = 20;

function openWindows(linksArr) {
	
	setTimeout(function() {
	
		win = open( 'http://' + linksArr[i++], 'test', 'width=300,height=200,left=' + left + '' );
		
		win.opener = null;
			
		left += 320;	
			
		if ( i !== linksArr.length )
			openWindows(linksArr);
	
	}, 5000);
}

openWindows(links);

Станислав89 05.12.2013 18:48

Arramis,
Спасибо большое.


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