Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Динамический баннер, слои. (https://javascript.ru/forum/jquery/25814-dinamicheskijj-banner-sloi.html)

ArmagedDance 16.02.2012 09:49

Динамический баннер, слои.
 
Написал скрипт динамического баннера, в котором разные слои (картинки) плавно сменяют друг друга, накладываясь одна на одну. В целом красиво и так как задумывалось. Одна проблема - к слоям картинок также привязаны также ссылки, а при наведении и переходе отображается одна и та же всегда ссылка (последняя при выведении).
Как сделать, чтобы ссылки также сменяли друг друга?

Вот код в php-файле при выведении:


<div id="logo1" class="animation"><a href="link1"><img src="src1" border=0px></a></div>
<div id="logo2" class="animation"><a href="link2"><img src="src2" border=0px></a></div>
<div id="logo3" class="animation"><a href="link3"><img src="src3" border=0px></a></div>

...

А вот код javascript:
//Создание цикла обновления баннеров
var animation_count = $(".animation").length;//количество слоев

var random=1;//счетчик циклов
var rotator = setInterval(function(){
if(random>animation_count) {//если прошли все слои
  random=1;
$('.animation').fadeTo(0,1);

  }

var reverse_count=animation_count-random+1;
if(random==animation_count) {
    $('#logo'+reverse_count).fadeTo(0,1);
	$('#logo'+reverse_count).fadeTo(5000,0);
      $('#logo'+random).fadeTo(5000,1);
  

  }
else if(random<animation_count){
   $('#logo'+reverse_count).fadeTo(0,1);
   $('#logo'+reverse_count).fadeTo(5000,0);
     $('#logo'+reverse_count-1).fadeTo(5000,1);
    }
random++;
},15000);

tadjik1 16.02.2012 12:00

Дело в том, что opacity:0; это тоже самое, что и visible:hidden;, т.е. элемент остаётся на странице и по нему можно кликать. Для того, чтобы ваш скрипт работал перепишите fadeTo на fadeIn и fadeOut, например. В результате ненужные элементы будут становится display:none;, в этом случае всё должно заработать.

Kolyaj 16.02.2012 12:11

Цитата:

Сообщение от tadjik1
opacity:0; это тоже самое, что и visible:hidden;

Не visible, а visibility, и не то же самое. По элементу с visibility: hidden кликнуть нельзя.

ArmagedDance 16.02.2012 12:36

tadjik1, по вашей подсказке исправил - заработало, большое спасибо :)

tadjik1 16.02.2012 13:01

Kolyaj, плохо с свойствами знаком, спасибо за подсказку вам тоже)


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