Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular UI Bootstrap Slider Multiple items per slide

I am connecting to a web service and want to populate A UI Bootstrap carousel with 4 items for each slide. I am using | limitTo:4, but I need a way to limit 4 per slide out of the 10 total.

Here is the HTML

<div class="row event-slider" ng-controller="eventsController">
<div ng-controller="sliderController">
    <carousel interval="interval" class="col-sm-12">
        <slide class="col-sm-12">
            <div class="col-sm-3 event" ng-repeat="event in eventData | limitTo:4">
                <div class="event-inner">
                    <img ng-src="{{event.image.block250.url}}">
                    <div class="event-details">
                        <h4 class="uppercase">{{event.title}}</h4>
                        <!-- {{event.}} -->
                    </div>
                </div>
            </div>
        </slide>
    </carousel>
</div>
</div>

Controller for reference

app.controller("eventsController", function($scope, $http) {

    var events = $http.get('/events');

    events.success(function(data) {

        $scope.eventData = data.events["event"];
        console.log($scope.eventData);

    });

});

There is probably an easy solution that Im missing using a ng-repeat filter. Thanks a bunch for the help.

UPDATE: I am not accounting for responsive, but will need to at a later time(agile sprint). Still wrapping my mind around the += in the loop, but its working well. I think I am starting on the 4th item and going up from there... Thanks again for your help.

var events = $http.get('/events');
var i;

events.success(function(data) {

    $scope.eventData = data.events["event"];

    $scope.slideGroup = [];

    for (i = 0; i < $scope.eventData.length; i += 4) {

        slides = {
            'first' : $scope.eventData[i],
            'second' : $scope.eventData[i + 1],
            'third' : $scope.eventData[i + 2],
            'fourth' : $scope.eventData[i + 3]
        };
        console.log($scope.slideGroup);
        $scope.slideGroup.push(slides);
    }

});

HTML:

    <carousel interval="interval" class="col-sm-12">
        <slide class="col-sm-12" ng-repeat="event in slideGroup">
            <div class="col-sm-3 event">
                <div class="event-inner">
                    <img ng-src="{{event.first.image.url}}">
                    <div class="event-details">
                        <h4 class="uppercase">{{event.first.title}}</h4>

                    </div>
                </div>
            </div>
            <div class="col-sm-3 event">
                <div class="event-inner">
                    <img ng-src="{{event.second.image.url}}">
                    <div class="event-details">
                        <h4 class="uppercase">{{event.second.title}}</h4>

                    </div>
                </div>
            </div>
            <div class="col-sm-3 event">
                <div class="event-inner">
                    <img ng-src="{{event.third.image.url}}">
                    <div class="event-details">
                        <h4 class="uppercase">{{event.third.title}}</h4>

                    </div>
                </div>
            </div>
            <div class="col-sm-3 event">
                <div class="event-inner">
                    <img ng-src="{{event.fourth.image.url}}">
                    <div class="event-details">
                        <h4 class="uppercase">{{event.fourth.title}}</h4>

                    </div>
                </div>
            </div>
        </slide>
    </carousel>
like image 957
cpk Avatar asked Oct 06 '14 15:10

cpk


People also ask

How to add a content or image slider in Angular 7?

Using Carousel we can add a Content or Image slider with many usable options. Here we will create a new Angular 7 Project and Integrate Ng-Bootstrap to use Carousel component. Let’s get started! First, we will create a new Angular Project using Angular CLI. Make sure you have installed the latest version on Angular CLI by running following command

What is the use of a carousel slider in Bootstrap?

Carousel slider makes it more responsive because it has its own slideshow that makes it user friendly. Bootstrap multiple items per slide allow you to create a carousel of items that you want to present. Here you create loop of the items mentioning its space, color and many more things relates to the codes.

Is ng-bootstrap compatible with Angular 4?

Bootstrap provided a wide variety of easy to use Web Components for UI development. NG-Bootstrap is Angular based library using which we can use Bootstrap UI web components in Angular’s latest versions. This Angular post is compatible with Angular 4 upto latest versions, Angular 7, Angular 8, Angular 9, Angular 10, Angular 11 & Angular 12

What is bootstrap multiple items slider code snippets?

As mentioned earlier, bootstrap multiple items slider code snippets allows you to have multiple of features regarding page maintenance and presentation which surely has a great role in public attraction. Here we present you, best kinds of multiple items slider code snippets.


1 Answers

I tried this one that has been responsively designedin some way to render different number of items depending on screen resolution.

http://plnkr.co/edit/QhBQpG2nCAnfsb9mpTvj?p=preview

enter image description here

like image 143
Giannis Grivas Avatar answered Sep 21 '22 19:09

Giannis Grivas