3 077 Скрипты / Slider

Последовательный слайдер


Слайдер осуществляющий перелистывание сразу группы элементов ( а не каждого элемента) последовательно. Используется jQuery.

HTML

Каждый слайд будет состоять из 6 элементов расположенных горизонтально. Кнопки вперед и назад будут помещены влевую и правую сторону списка продуктов ("сладостей").

CSS

JS

Подключаем библиотеку jQuery:
<script type="text/jаvascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
И наш скрипт:
<script src="script.js"></script>
В котором инициализируем все переменные которые нам нужны:
onMoving        = false;  
item            = $('.list li');  
itemReverse     = item.get().reverse();  
itemSize        = item.size();  
itemDisplayed   = 6;  
itemToSlide     = itemDisplayed * 9;  
currentSlide    = 1;  
page            = Math.round(itemSize/itemDisplayed); 
Добавим событие нажатия на кнопки вперед и назад:
    $('.next').click(function() {  
      
        if(onMoving || currentSlide >= 3) return false;  
        onMoving = true, currentSlide++;  
    });  
      
    $('.prev').click(function() {  
      
        if(onMoving || currentSlide == 1) return false;  
        onMoving = true, currentSlide--;  
    });  
Для того, чтобы элемент перемещался последовательно, мы должны получить доступ к каждому элементу используя функцию $.each(). Чтобы избежать одновременного перемещения элементов используем .animate() и windows.setTimeout.
$.each(item, function() {  
  
    var i    = $(this).index();  
    var delay = i * 100;  
  
    window.setTimeout(function (index) {  
        return function () {  
            item.eq(index).stop().animate({ 'right' : '+='+itemToSlide+'em' }, function() {  
                if(index >= itemSize-1) onMoving = false;  
            });  
        };  
    } (i), delay);  
}); 
Скачать 860Загрузок 357,21 Kb
Демо

Комментарии

  • Facebook
  • Вконтакте

Похожие статьи