Исправил. Теперь, при клике на кнопку первой карусели, не реагирует. При клике на кнопку второй карусели листает два элемента второй карусели.
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');