Автоматическая смена ссылок
Здрасте.
Есть блок: <div style="position: fixed; right: 20px; top: 10px;" align="right"> <a href="ссылка" >Заголовок</a> </div> В нем есть ссылка (<a>). Мне надо чтоб она менялась через некоторое время так, чтоб страничка не перегружалась. Возможно ли так? Тоесть есть массив ссылок (подгружаеться из БД при загрузек странички через пхп - я зная как делать), и рандомом через некоторое время (например через 10 секунд) ссылка менялась (и ее заголовок). Можна такой скрипт написать? Допустим у меня есть массив Mas[] и в нем Mas[0] - "<a href="ссылка_1" >Заголовок_1</a>" Mas[1] - "<a href="ссылка_2" >Заголовок_2</a>" Mas[2] - "<a href="ссылка_3" >Заголовок_3</a>" Mas[3] - "<a href="ссылка_4" >Заголовок_4</a>" ... Mas[n-1] - "<a href="ссылка_n" >Заголовок_n</a>" Как зделать, чтоб менялись ссалки каждіх 10 сек. Или может луче поместить в два масивва - отдельно ссылочки и отдельно заголовки? |
<div id="links" style="position: fixed; right: 20px; top: 10px;" align="right"> <a href="ссылка" >Заголовок</a> </div> В конце html файла скрипт var currentLink = 0; (function() { document.getElementById('links').innerHTML = Mas[currentLink++]; if (currentLink >= Mas.length) currentLink = 0; setTimeout(arguments.callee, 10000); })(); |
Шот не катит :(
<body bgcolor="#001816"> <script language="JavaScript"> var Mas = new Array() Mas[0] = "<a href="ссылка1" >Заголовок1</a>"; Mas[1] = "<a href="ссылка2" >Заголовок2</a>"; Mas[2] = "<a href="ссылка3" >Заголовок3</a>"; </script> <div id="links" style="position: fixed; right: 20px; top: 10px;" align="right"> <a href="ссылка" >Заголовок</a> </div> <script language="JavaScript"> var currentLink = 0; (function() { document.getElementById('links').innerHTML = Mas[currentLink++]; if (currentLink >= Mas.length) currentLink = 0; setTimeout(arguments.callee, 100); })(); </script> </body> |
Цитата:
|
Заменил "<a href="ссылка1" >Заголовок1</a>" на '<a href="ссылка1" >Заголовок1</a>'
Работает. Спасибо тебе. Будь благословен, Kolyaj, |
Еще вопросик:
А почему не работает <script language="JavaScript"> var currentLink = 0; (function() { document.getElementById('links').innerHTML = Mas[currentLink++]; currentLink = Math.random(Mas.length)-1; //???????????????????????? setTimeout(arguments.callee, 100); })(); </script> |
|
Спасибо, я думал принцып как в паскале.
Еще раз спасибо тебе. Пусть Бог благословит тебя. Вот правельный результат того, что я хотел: <body bgcolor="#001816"> <script language="JavaScript"> var Mas = new Array() Mas[0] = '<a href="ссылка1" >Заголовок1</a>'; Mas[1] = '<a href="ссылка2" >Заголовок2</a>'; Mas[2] = '<a href="ссылка3" >Заголовок3</a>'; </script> <div id="links" style="position: fixed; right: 20px; top: 10px;" align="right"> <a href="ссылка" >Заголовок</a> </div> <script language="JavaScript"> var currentLink = Math.floor(Math.random() * Mas.length); (function() { document.getElementById('links').innerHTML = Mas[currentLink++]; currentLink = Math.floor(Math.random() * Mas.length) ; setTimeout(arguments.callee, 10000); })(); </script> </body> |
(function() { document.getElementById('links').innerHTML = Mas[Math.floor(Math.random() * Mas.length)]; setTimeout(arguments.callee, 10000); })(); |
Спасибо. Извини, может достаю, но хочу еще одно зделать.
А этот форум найлучший и здесь можно очень быстро получить ответ, за что вам спасибо. Мне надо, чтоб когда мышка будет над (onmouseover) этим блоком (или, если не сложно, над ссылкой), то тогда ссылка перестает меняться. наверное както приостановить выполнение функции. А при onmouseout опять заработала. Или может другим путем. Можно так сделать? |
var linksEl = document.getElementById('links'); linksEl.onmouseover = function() { this._mouseover = true; }; linksEl.onmouseout = function() { this._mouseover = false; }; (function() { if (!linksEl._mouseover) linksEl.innerHTML = Mas[Math.floor(Math.random() * Mas.length)]; setTimeout(arguments.callee, 10000); })(); |
Супер. ОГРОМНОЕ СПАСИБО, Kolyaj, ты просто супер прогер.
На этом все. ----------------------------------------- <body bgcolor="#001816"> <script language="JavaScript"> var Mas = new Array() Mas[0] = '<a href="ссылка1" >Заголовок1</a><br />iutryityri'; Mas[1] = '<a href="ссылка2" >Заголовок2</a><br />hrethytru'; Mas[2] = '<a href="ссылка3" >Заголовок3</a><br />864urtiuty'; Mas[3] = '<a href="ссылка4" >Заголовок4</a><br />h f jgsgfg shjhfd'; Mas[4] = '<a href="ссылка5" >Заголовок5</a><br />iytriytro'; </script> <div id="links" style="position: fixed; right: 20px; top: 10px;" align="right" onmouseover="rt"> <a href="ссылка" >Заголовок</a> </div> <script language="JavaScript"> var linksEl = document.getElementById('links'); linksEl.onmouseover = function() { this._mouseover = true; }; linksEl.onmouseout = function() { this._mouseover = false; }; (function() { if (!linksEl._mouseover) linksEl.innerHTML = Mas[Math.floor(Math.random() * Mas.length)]; setTimeout(arguments.callee, 10000); })(); </script> </body> ----------------------------------------- Еше раз спасибо! |
Kolyaj,
Мог бы объяснить вот этот момент setTimeout(arguments.callee, 10000);т.е. точнее arguments.callee |
|
Kolyaj, да ты прям святой для peter888:D
|
B~Vladi,
сам в шоке. |
Цитата:
Поверьте, наше будущее много зависит от того, что мы говорим. Слово - он имеет силу создавать. И если с верой то оно так и станется. Вспомните, когда Бог создавал мир, то он не думал, а именно сказал: "Создадим то и то..." (Битье 1:26). Так что ты, B~Vladi, тоже будь благословен! |
Я плачу...
Цитата:
|
Цитата:
Цитата:
Да прибудет с вами сила. upd: если бы я создавал мир, то там были бы и эльфы и джедаи и нер-зул тоже, кого-то же надо пинать. Тока надо ему хелсов побольше сделать, а то сдуется быстро. |
Часовой пояс GMT +3, время: 22:19. |