Массив ссылок в 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, время: 20:40. |