Давно хотел сделать баннер крутилку на сайт. Например разместить в виджете и крутить там различные баннеры партнеров. Плагин ставить для этого не охота было и поэтому я решил найти код на Jquery. Вот собственно и решение данной проблемы:
Данный код можно размещать в текстовом виджете, всё прекрасно работает. Так же можно использовать и в других места шаблона вашего сайта, например в шапке или подвале.
В коде подключается библиотека Jquery, но если вы знаете, что она уже подключена к вашему шаблону, то можете удалить данную строчу из кода:
[JAVASCRIPT]<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>[/JAVASCRIPT]
В стиль вашего шаблона style.css добавить следующие правила:
[CSS]div#rotator {position:relative; height:150px; margin-left: 15px;}
div#rotator ul li {float:left; position:absolute; list-style: none;}
div#rotator ul li.show {z-index:500;}[/CSS]
Вот и всё осталось только прописать нужные баннеры. Да, код сделан под размер 240 х 400 px, если вам надо под другие размеры, то правим стили.
Код:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
function theRotator() {
// Устанавливаем прозрачность всех картинок в 0
$('div#rotator ul li').css({opacity: 0.0});
// Берем первую картинку и показываем ее (по пути включаем полную видимость)
$('div#rotator ul li:first').css({opacity: 1.0});
// Вызываем функцию rotate для запуска слайдшоу, 5000 = смена картинок происходит раз в 5 секунд
setInterval('rotate()',5000);
}
function rotate() {
// Берем первую картинку
var current = ($('div#rotator ul li.show')? $('div#rotator ul li.show') : $('div#rotator ul li:first'));
// Берем следующую картинку, когда дойдем до последней начинаем с начала
var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div#rotator ul li:first') :current.next()) : $('div#rotator ul li:first'));
// Расскомментируйте, чтобы показвать картинки в случайном порядке
// var sibs = current.siblings();
// var rndNum = Math.floor(Math.random() * sibs.length );
// var next = $( sibs[ rndNum ] );
// Подключаем эффект растворения/затухания для показа картинок, css-класс show имеет больший z-index
next.css({opacity: 0.0})
.addClass('show')
.animate({opacity: 1.0}, 1000);
// Прячем текущую картинку
current.animate({opacity: 0.0}, 1000)
.removeClass('show');
};
$(document).ready(function() {
// Запускаем слайдшоу
theRotator();
});
</script>
<div id="rotator">
<ul>
<li class="show"><a target="_blank" href="http://bit.ly/23XAYTb" title="Заработок на бирже ссылок"><img src="http://img.mainlink.ru/ourbanner/new/gif/banner4_240x400.gif" width="240px" heigth="400px" alt="Заработок на бирже ссылок" border="0"/></a></li>
<li><a target="_blank" href="http://bit.ly/1Z1Q8Td"><img src="//webartex.ru//s/i/bnr/webmaster/240x400.gif" style="border:0" width="240" height="400"/></a></li>
</ul>
</div>
В коде подключается библиотека Jquery, но если вы знаете, что она уже подключена к вашему шаблону, то можете удалить данную строчу из кода:
[JAVASCRIPT]<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>[/JAVASCRIPT]
В стиль вашего шаблона style.css добавить следующие правила:
[CSS]div#rotator {position:relative; height:150px; margin-left: 15px;}
div#rotator ul li {float:left; position:absolute; list-style: none;}
div#rotator ul li.show {z-index:500;}[/CSS]
Вот и всё осталось только прописать нужные баннеры. Да, код сделан под размер 240 х 400 px, если вам надо под другие размеры, то правим стили.