Показать сообщение отдельно
  #7 (permalink)  
Старый 14.03.2015, 21:19
Новичок на форуме
Отправить личное сообщение для Kobe_kobe Посмотреть профиль Найти все сообщения от Kobe_kobe
 
Регистрация: 12.03.2015
Сообщений: 5

Исправил. Теперь, при клике на кнопку первой карусели, не реагирует. При клике на кнопку второй карусели листает два элемента второй карусели.

var carWidth=240;
    var visibleSlide = 3;
    var blockMargin = 10;

    function makeSlider (a) {
        var el;
        $el = $(a);
        var elBlock = $el.find('.blocks');
        $(function(){
        elBlock.width(elBlock.children().size()*carWidth);


            $el.find('.next_car').click(function(){
                nextCar();
            });
            $el.find('.prev_car').click(function(){
                prevCar();
            });
        });


        function nextCar(){
            var currentSlide=parseInt($el.find('.blocks').data('current'));
            currentSlide++;
            if(currentSlide>=visibleSlide)
            {
                elBlock.css('left',-(currentSlide-2)*carWidth);
                elBlock.append(elBlock.children().first().clone());
                elBlock.children().first().remove();
                currentSlide--;
            }
            $el.find('.blocks').animate({left: -currentSlide*carWidth},300).data('current',currentSlide);
        }

        function prevCar(){
            var currentSlide=parseInt($el.find('.blocks').data('current'));
            currentSlide--;
            if(currentSlide<0)
            {
                elBlock.css('left',-(currentSlide+2)*carWidth);
                elBlock.prepend($el.find('.blocks').children().last().clone());
                elBlock.children().last().remove();
                currentSlide++;
            }
            $el.find('.blocks').animate({left: -currentSlide*carWidth},300).data('current',currentSlide);
        }
    }
     makeSlider('#carousel1');
     makeSlider('#carousel2');
Ответить с цитированием