[jQuery] Скрипт автосмены изображений

Web
Нашел в сети простой скрипт для смены картинок, текста и прочего с использованием jquery. Очень просто и удобно, буду его использовать и может кому еще пригодится.

Итак как нам вставить в страницу автосменяющуюся картинку?
Добавляем сам блок с картинкой:

<DIV id="rotator">
  <UL>
    <LI class="" style="opacity: 0; "><A href="#/"><IMG src="img/111.jpg" width="500" height="375" alt="pic1"></A></LI>
    <LI style="opacity: 1; " class="show"><A href="#"><IMG src="img/222.jpg" width="500" height="675" alt="pic2"></A></LI>
    <LI style="opacity: 0; " class=""><A href="#"><IMG src="img/333.jpg" width="500" height="375" alt="pic3"></A></LI>
  </UL>
</DIV>

В CSS добавляем:
/* rotator in-page placement */
    div#rotator {
	position:relative;
	height:345px;
	margin-left: 15px;
}
/* rotator css */
	div#rotator ul li {
	float:left;
	position:absolute;
	list-style: none;
}
/* rotator image style */	
	div#rotator ul li img {
	border:1px solid #ccc;
	padding: 4px;
	background: #FFF;
}
    div#rotator ul li.show {
	z-index:500;
}

И в теге head вставляем скрипт
<SCRIPT type="text/javascript">

function theRotator() {
	//Set the opacity of all images to 0
	$('div#rotator ul li').css({opacity: 0.0});
	//Get the first image and display it (gets set to full opacity)
	$('div#rotator ul li:first').css({opacity: 1.0});
	//Call the rotator function to run the slideshow, 6000 = change to next image after 6 seconds
	setInterval('rotate()',6000);
	
}

function rotate() {	
	//Get the first image
	var current = ($('div#rotator ul li.show')?  $('div#rotator ul li.show') : $('div#rotator ul li:first'));

	//Get next image, when it reaches the end, rotate it back to the first image
	var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div#rotator ul li:first') :current.next()) : $('div#rotator ul li:first'));	
	
	//Set the fade in effect for the next image, the show class has higher z-index
	next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);

	//Hide the current image
	current.animate({opacity: 0.0}, 1000)
	.removeClass('show');
	
};

$(document).ready(function() {		
	//Load the slideshow
	theRotator();
});
</SCRIPT>

Придумал такой метод некий Dylan Wagstaff (http://www.alohatechsupport.net), за что ему спасибо.
Пример работы можно посмотреть тут, скачать пример тут

5 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.