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 16: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 16:52

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

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

qwe88 29.12.2014 17:57

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

vuler 29.12.2014 18:46

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


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