Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Слайдер начинает прокрутку заново (https://javascript.ru/forum/misc/52640-slajjder-nachinaet-prokrutku-zanovo.html)

qwe88 28.12.2014 17:42

Слайдер начинает прокрутку заново
 
Добрый день!
Есть скрипт одного слайдера.
Когда доходим до последнего слайда, то при клике на "следующи" на первый не переходит.
Подскажите, пожалуйста, как сделать переход на первый, после последнего слайда
Вот сам скрипт:
Код:

$(document).ready(function() {
       
        //Initialize
        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 button clicked
        $('.next').click(function() {

                if(onMoving || currentSlide >= 3) return ;
                onMoving = true, currentSlide++;               
               
                $.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);
                });
        });
       
        //Previous button clicked
        $('.prev').click(function() {

                if(onMoving || currentSlide == 1) return false;
                onMoving = true, currentSlide--;
               
                $.each(itemReverse, function() {
                       
                        var i          = $(this).index();
                        var delay = i * 100;
                       
                        window.setTimeout(function (index) {
                                return function () {
                                        $(itemReverse).eq(index).stop().animate({ 'right' : '-='+itemToSlide+'em' }, function() {
                                                if(index >= 0) onMoving = false;
                                        });
                                };
                        } (i), delay);     
                });
        });
});


vuler 29.12.2014 17:52

измени тут для next - if(onMoving || currentSlide >= 3) return ;

на if (onMoving) return;
if (currentSlide >= 3) currentSlide=1;

qwe88 29.12.2014 18:57

Но мы не знаем, сколько будет слайдов/фоток

vuler 29.12.2014 19:46

ну посчитай их тогда $('body').find('Класс элементов картинок').length


Часовой пояс GMT +3, время: 06:21.