Ротатор баннеров (изображений) для сайта
Делаем ротатор баннеров (изображений) для сайта с помощью чистого Javascript и jQuery. Изображения меняются с определённым интервалом.
Ротатор баннеров на Javascript
HTML:
<a href="#" id="adLink" title="" target="_blank">
<img src="images/1.jpg" id="adBanner" width="300" height="250" alt="" /></a>
Javascript:
var imgs = new Array("images/1.jpg", "images/2.jpg", "images/3.jpg");
var links = new Array("#", "#", "#");
var alt = new Array("баннер-1", "баннер-2", "баннер-3");
var title = new Array("title-1","title-2","title-3");
var currentAd = 0;
var imgCt = 3;
function cycle() {
if (currentAd == imgCt) {
currentAd = 0;
}
var banner = document.getElementById('adBanner');
var link = document.getElementById('adLink');
banner.src = imgs[currentAd]
banner.alt = alt[currentAd]
banner.title = title[currentAd]
document.getElementById('adLink').href = links[currentAd]
currentAd++;
}
window.setInterval("cycle()", 5000);
Ротатор баннеров на jQuery
HTML:
<div id="rotator">
<ul>
<li class="show"><a href="#"><img src="1.jpg" width="300" height="250" alt="pic1" /></a></li>
<li><a href="#"><img src="2.jpg" width="300" height="250" alt="pic2" /></a></li>
<li><a href="#"><img src="3.jpg" width="300" height="250" alt="pic3" /></a></li>
</ul>
</div>
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;}
jQuery:
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
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>
Пример ротатора баннеров
Генератор ротатора баннеров
Сам сервис находится здесь. С его помощью можно сгенерировать ротатор и разместить его у себя на сайте.
Предыдущая запись
Счетчик кликовСледующая запись
Кодировка MySQL. Переход с utf8 на utf8mb4