Массив ссылок в js
Доброго времени суток уважаемые форумчане. Что меня сподвигло написать на форуме, так наверное недостаток знаний в синтаксисе. Пытаюсь черпать знания на форумах, в электронных изданиях и т.д.. Но вот чего порой не хватает, так это дельного совета от гуру js, да и порой хватает советов таких же как и я но со знаниями чуть повыше. Ваш форум выбрал потому как показался мне лучшим в своем роде. Буду признателен за любые подсказки, уже готовый код и естественно линки на материалы которые мне помогли бы дойти самому до верного ответа.
Теперь отойдем от лирики и перейдем к вопросу. Понадобилось сделать js по такому заданию. Есть кнопка, или даже такой фрагмент кода: Код:
'<span style="color: #ff0000;"><a href="http://javascript.ru" target="main"><span style="color: green;"> Клик</span></a></span> '+ Что нужно.. Нужно чтобы при клике поочередно во фрейме main открывались указанные ссылки с промежутком указанным в коде. Т.е. в коде приписываю допустим javascript.ru,javascript.ru/forum и ожидание между автосрабатыванием следующей ссылки допустим 1s или 300ms. Обратился к Вам потому что все мои попытки найти что-либо оказались безуспешными. Но получил подсказку что мол нужно создать массив для этих ссылок. Заранее благодарен за любую помощь. С ув. |
У вас код откровенно битый. Не делает он никаких ифреймов. Ну и соответственно непонятно что есть на данный момент
|
фреймы все сделаны на самом деле. мне просто нужно понять каким образом при имеющихся фреймах осуществить задуманное
|
HTML:
<iframe id="main"></iframe> <a href="javascript://" style="color:green" onclick="frameUrls()">Клик</a> javascript: var frInt = false; function frameUrls() { var time = 3000; //Время повтора в ms. var urls = new Array('сайт 1', 'сайт 2', 'сайт 3'); //Ссылки на сайты var a = 0, b = document.getElementById('main'); if(frInt) clearInterval(frInt); frInt = setInterval(function() { b.src = urls[a]; a = (a+1 == urls.length) ? 0 : a+1; },time); } |
Цитата:
С ув. |
Цитата:
|
var frInt = false; window.onload = function() { var a = document.getElementsByTagName('a'); for(i=0; i<a.length; i++) if(a[0].target == 'main') { a[i].onclick = frameUrls; break; } } function frameUrls() { var time = 3000; var urls = new Array('сайт 1', 'сайт 2', 'сайт 3'); var a = 0, b = document.getElementById('main'); if(frInt) clearInterval(frInt); frInt = setInterval(function() { b.src = urls[a]; a = (a+1 == urls.length) ? 0 : a+1; },time); } |
Извиняюсь, вот более правильный вариант:
var frInt = false; window.onload = function() { var a = document.getElementsByTagName('a'); for(i=0; i<a.length; i++) if(a[i].target == 'main') { a[i].onclick = frameUrls; break; } } function frameUrls() { var time = 3000; var urls = new Array('сайт 1', 'сайт 2', 'сайт 3'); var a = 0, b = document.getElementsByTagName('iframe'); for(i=0; i<b.length; i++) if(b[i].name == 'main') { b = b[i]; break; } if(frInt) clearInterval(frInt); frInt = setInterval(function() { b.src = urls[a]; a = (a+1 == urls.length) ? 0 : a+1; },time); } |
P.S.: опечатку поправил.
|
Огромное спасибо Ruslan_xDD
Помог, подсказал, посоветовал. Побольше бы таких) |
Часовой пояс GMT +3, время: 04:25. |