I just started learning about Angular.js and I'm using the Carousel control in Angular-ui. Is it possible to display two slides at the same time instead of one?
I want to display the images like these -
< image 1 image 2 >
then
< image 3 image 4 >
then
< image 5 image 6 >
Here's a sample -
http://plnkr.co/edit/BnErmMDl8nPvXPrw3ULu?p=preview
You can group the images together and ng-repeat
over those grouped images instead. Aside from some needed styling fixes, here's how:
http://plnkr.co/edit/5JFeZgTup7abIsjxOeqi?p=preview
HTML:
<carousel interval="myInterval">
<slide ng-repeat="slideCollection in groupedSlides" active="slide.active">
<div>
<img ng-src="{{slideCollection.image1.image}}" style="margin:auto;">
<img ng-src="{{slideCollection.image2.image}}" style="margin:auto;">
</div>
</slide>
</carousel>
JavaScript:
$scope.$watch('slides', function(values) {
var i, a = [], b;
for (i = 0; i < $scope.slides.length; i += 2) {
b = { image1: $scope.slides[i] };
if ($scope.slides[i + 1]) {
b.image2 = $scope.slides[i + 1];
}
a.push(b);
}
$scope.groupedSlides = a;
}, true);