Кот

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Кот » Фишки и примочки » Горизонтальный слайдер.


Горизонтальный слайдер.

Сообщений 1 страница 6 из 6

1

Слайдер – простая и удобная вещь, используемая повсеместно.  Его можно использовать как новостной блок или для размещения форумного периодического издания на странице. Слайдер поддерживает изображения и текст, а так же вложенные таблицы, так что… дерзайте.
Для размещения слайдера используется данный код:

<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>

0

2

Могли бы вы помочь мне со слайдером? Не получается его в таблицу поместить :с (руки не из того места)

0

3

Pika
Ссылку на форум..?

0

4

куда же это все вставлять?..

0

5

Скромница
В объявление, я так понимаю. )

0

6

Скромница написал(а):

куда же это все вставлять?..

faiko написал(а):

<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>

это хтмл-низ

faiko написал(а):

<!-- 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>

в хтмл-верх

faiko написал(а):

<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>

туда где нужен слайдер

0


Вы здесь » Кот » Фишки и примочки » Горизонтальный слайдер.


Рейтинг форумов | Создать форум бесплатно © 2007–2016 «QuadroSystems» LLC