Reputation: 113
I'm using UI Bootstrap carousel, but it displays only one slide - http://plnkr.co/edit/Pt56PpQ9fjw6Q0nNF9sU?p=preview.
How to display images this way?
img1 - img2 - img3
then
img2 - img3 - img4
then
img3 -img4 - img5
then
img4 - img5 - img6
then
img5 - img6 - img1
(like in the this carousel http://coolcarousels.frebsite.nl/c/58/)
Upvotes: 11
Views: 18754
Reputation: 1
I am using ng-repeat and converting to image,Here is my code but not converting
<carousel interval="myInterval">
<slide ng-repeat="rc in RequirementConsultanctDetails" active="slide.active">
<div class="" style="width:600px;margin:auto;" ng-show="rc.photo!=null">
<div>
<img ng-src="data:image/jpeg;base64,{{rc.photo}}" width="200px" style="float:left;">
</div>
<div>
<img ng-src="{{RequirementConsultanctDetails[getSecondIndex($index+1)].photo}}" width="200px" style="float:left;">
</div>
<div>
<img ng-src="{{RequirementConsultanctDetails[getSecondIndex($index+2)].photo}}" width="200px" style="float:left;">
</div>
</div>
</slide>
</carousel>
Upvotes: 0
Reputation: 6196
You can use the $index inside the ng-repeat to create additional images and add the next two images.
http://plnkr.co/edit/oVRYCfaMeRW5a54nzmem?p=preview
<carousel interval="myInterval">
<slide ng-repeat="slide in slides" active="slide.active">
<div class="" style="width:600px;margin:auto;">
<div >
<img ng-src="{{slide.image}}" width="200px" style="float:left;">
</div>
<div >
<img ng-src="{{slides[getSecondIndex($index+1)].image}}" width="200px" style="float:left;" >
</div>
<div >
<img ng-src="{{slides[getSecondIndex($index+2)].image}}" width="200px" style="float:left;" >
</div>
</div>
</slide>
</carousel>
Code to get the rotating images
$scope.getSecondIndex = function(index)
{
if(index-slides.length>=0)
return index-slides.length;
else
return index;
}
Upvotes: 12