Слайдер – простая и удобная вещь, используемая повсеместно. Его можно использовать как новостной блок или для размещения форумного периодического издания на странице. Слайдер поддерживает изображения и текст, а так же вложенные таблицы, так что… дерзайте.
Для размещения слайдера используется данный код:
<div id="slideshow" style="color:#fff;">
<div id="slidesContainer">
<div class="slide">
Первый
</div>
<div class="slide">
Второй
</div>
<div class="slide" style="background-image: url(http://uploads.ru/i/g/f/p/gfpLE.jpg);">
Третий
</div>
<div class="slide">
Четвертый
</div>
<div class="slide" style="background-image: url(http://uploads.ru/i/d/f/4/df4wX.jpg);">
Пятый
</div>
</div></div>
Каждая вкладка размещаются между тегами блока с классом slide, то есть
<div class="slide">…</div>
Скрипт слайдера таков:
<script type="text/javascript">
$(document).ready(function(){
var currentPosition = 0;
var slideWidth = 560;
var slides = $('.slide');
var numberOfSlides = slides.length;
// С помощью скрипта убираем прокрутку в контейнере.
$('#slidesContainer').css('overflow', 'hidden');
// Свернем все вкладки .slides в блок #slideInner
slides .wrapAll('<div id="slideInner"></div>')
.css({
'float' : 'left',
'width' : slideWidth
});
// Проставим блоку #slideInner ширину, равную общей ширине контейнеров
$('#slideInner').css('width', slideWidth * numberOfSlides);
$('#slideshow')
.prepend('<span class="control" id="leftControl">Clicking moves left</span>')
.append('<span class="control" id="rightControl">Clicking moves right</span>');
manageControls(currentPosition);
$('.control')
.bind('click', function(){
currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;
manageControls(currentPosition);
$('#slideInner').animate({
'marginLeft' : slideWidth*(-currentPosition)
});
});
function manageControls(position){
// Скрыть левую стрелку у первого контейнера
if(position==0){ $('#leftControl').hide() } else{ $('#leftControl').show() }
// Скрыть правую стрелку у последнего контейнера
if(position==numberOfSlides-1){ $('#rightControl').hide() } else{ $('#rightControl').show() }
}
});
</script>
И, наконец, стиль нашего слайдера.
<!-- Cлайдер-->
<style type="text/css">
#slideshow {
margin:0 auto;
width:640px;
height:263px;
background:transparent url(http://uploads.ru/i/H/l/O/HlOZA.jpg) no-repeat 0 0;
position:relative;
}
#slideshow #slidesContainer {
margin:0 auto;
width:560px;
height:263px;
overflow:auto; /* поддержка прокрутки */
position:relative;
}
#slideshow #slidesContainer .slide {
margin:0 auto;
width:540px; /* На двадцать пикселев меньше чем ширина #slidesContainer */
height:263px;
}
.control {
display:block;
width:39px;
height:263px;
text-indent:-10000px;
position:absolute;
cursor: pointer;
z-index:100;
}
#leftControl {
top:0;
left:0;
background:transparent url(http://uploads.ru/i/M/Y/u/MYu8W.jpg) no-repeat 0 0;
}
#rightControl {
top:0;
right:0;
background:transparent url(http://uploads.ru/i/D/z/Q/DzQ6a.jpg) no-repeat 0 0;
}
.slide h2, .slide p {
margin:15px;
}
.slide img {
float:right;
margin:0 15px;
}
</style>
Важно: значения, выделенные жирным в скрипте и стиле должны быть одинаковыми, иначе слайдер будет работать некорректно!
Дополнение.
Как присвоить каждой вкладке собственный фон.
Для этого, создавая новый контейнер, используйте код:
<div class="slide" style="background-image: url(ссылка_на_фон);"> Ваш текст тут </div>