Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ротатор баннеров на JavaScript - Требуется доработка (ПЛЗ) (https://javascript.ru/forum/misc/34921-rotator-bannerov-na-javascript-trebuetsya-dorabotka-plz.html)

stixia007 24.01.2013 15:28

Ротатор баннеров на JavaScript - Требуется доработка (ПЛЗ)
 
Добрый день многоуважаемые Джедаи JavaScript-a!

Есть готовый скрипт ротатора баннеров для Dle 9.7 и работает на ура, вот только показывает не больше 1 баннера. (Нужна доработка)
Вообще отличный ротатор баннеров - Меняет баннеры по времени, индивидуальная настройка и т.д. Всё прописывается в коде.

Код:

<script LANGUAGE="javascript">
/* Поменяйте адреса баннеров */
one=new Image
one.src="http://roshack2.ru/script/posters/001.jpg"
two=new Image
two.src="http://roshack2.ru/script/posters/002.jpg"
three=new Image
three.src="http://roshack2.ru/script/posters/003.jpg"
four=new Image
four.src="http://roshack2.ru/script/posters/004.jpg"         
fix=new Image
fix.src="http://roshack2.ru/script/posters/005.jpg"
    /* Поменяйте ссылки для каждого баннера */
URL=new Array //  URL array holds destination urls
URL[0]="http://www.sape.ru/r.jhrGqYWSnL.php"           
URL[1]="http://www.2domains.ru"
URL[2]="http://beget.ru?id=2259"
URL[3]="http://tak.ru/partner.php?id=426871"
imgID=new Array //  imgID array holds file source path for gifs corresponding to URL array
imgID[0]=one.src
imgID[1]=two.src
imgID[2]=three.src
imgID[3]=four.src
var a=0
var b=(URL.length-1)
var pause=15000 // Время показа каждого баннера в мс
function Rotate(imgN) { 
if (a==b) {
    a=0
    }else{
    a++
    }
document.images[imgN].src=imgID[a]
window.setTimeout('Rotate("linkpic")',pause);
}
function Openner(a)  {
/* Настройте размеры и функции открываемого окна */
NewWindow=window.open( "","NewWindow",'width=1000,height=1000,menubar=yes,scrollbars=yes')
NewWindow.document.location=(URL[a])
}
</script>
<body onLoad="Rotate('linkpic')" bgcolor="#923947">
    <div class="block_r_c reklam"><a href="javascript:Openner(a)"><img name="linkpic" align=middle width=200 height=280 src="1.gif" alt=""></a></div>

Подскажите что исправить или добавить чтоб можно было добавить не 1 меняющийся баннер а ~ (не ограниченно)

Вот пример: http://roshack.ru правая колонка, там 1 баннер который меняется а нужно добавить штук 20 баннеров ^^ И как добавить ХЗ. Благодарю за помощь!

ksa 24.01.2013 15:36

stixia007, у нас валом такого! :D
http://javascript.ru/forum/misc/3491...h-banerov.html

stixia007 24.01.2013 16:02

О спаситель нубла^^ Ща буду разбираться...

stixia007 24.01.2013 16:31

Всё равно не понимаю как сделать чтоб баннеров было много. 1 баннер весит и меняется а нужно чтоб висело штук 20.

Вот взял код по вашей сслыке:

<style>#КонтентРотатор p{display:none}</style>
<div id="КонтентРотатор" style="width:400px;">
<p><a href="http://dle-news.ru/" target="_blank"><img src="http://roshack2.ru/script/posters/002.jpg" alt="" /></a></p>
<p><a href="http://dle-news.ru/" target="_blank"><img src="http://roshack2.ru/script/posters/003.jpg" alt="" /></a></p>
<p>3-й Контент</p>
<p>4-й Контент</p>
<p>N-й Контент</p>
</div>

<script language="javascript">
var sek = 2000;  // Время отображения
 
var Nrout=$("#КонтентРотатор p").length;
var i=(Math.random()+'').split(".").join('')%Nrout;
RotatorMycontent(i);
 
function RotatorMycontent(i) {
$("#КонтентРотатор p").hide();
$("#КонтентРотатор p").eq(i).show();
 
j=i+1;if(j>=Nrout){j=0};
timerID = setTimeout("RotatorMycontent(j)",sek);return;}
</script>

Deff 24.01.2013 16:44

<script src="http://code.jquery.com/jquery-latest.js"></script>

<style>#КонтентРотатор p{display:none; float:left;padding:6px;}</style>
<div id="КонтентРотатор" style="width:400px;">
<p>1-й Контент</p>
<p>2-й Контент</p>
<p>3-й Контент</p>
<p>4-й Контент</p>
<p>5-й Контент</p>
<p>N-й Контент</p>
</div>

<script language="javascript">
var Nsh = 1 //число одновременно показываемых;
var sek = 2000;  // Время отображения
 
var Nrout=$("#КонтентРотатор p").length;
var i=(Math.random()+'').split(".").join('')%Nrout;
RotatorMycontent(i);
 
function RotatorMycontent(i) {
$("#КонтентРотатор p").hide();
for(var n=0; n<Nsh; n++ ){
  $("#КонтентРотатор p").eq(i).show();
i=i+1;if(i>(Nrout-1)){i=0};
}
 
j=i;
timerID = setTimeout("RotatorMycontent(j)",sek);return;}
</script>

stixia007 24.01.2013 16:56

Благодарствую! Всё работает!

dimas15 27.01.2013 15:04

Цитата:

Сообщение от Deff (Сообщение 229187)
<script src="http://code.jquery.com/jquery-latest.js"></script>

<style>#КонтентРотатор p{display:none; float:left;padding:6px;}</style>
<div id="КонтентРотатор" style="width:400px;">
<p>1-й Контент</p>
<p>2-й Контент</p>
<p>3-й Контент</p>
<p>4-й Контент</p>
<p>5-й Контент</p>
<p>N-й Контент</p>
</div>

<script language="javascript">
var Nsh = 1 //число одновременно показываемых;
var sek = 2000;  // Время отображения
 
var Nrout=$("#КонтентРотатор p").length;
var i=(Math.random()+'').split(".").join('')%Nrout;
RotatorMycontent(i);
 
function RotatorMycontent(i) {
$("#КонтентРотатор p").hide();
for(var n=0; n<Nsh; n++ ){
  $("#КонтентРотатор p").eq(i).show();
i=i+1;if(i>(Nrout-1)){i=0};
}
 
j=i;
timerID = setTimeout("RotatorMycontent(j)",sek);return;}
</script>

А здесь можно сделать для фоток чтоб медленно менялись, а не быстро как здесь?!


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