🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

A simple Angular implementation of a 3D perspective image carousel, similar to the ‘cover flow’ effect as you seen on Apple’s iTunes.

Carousel Plugins

Documentation

Angular Carousel 3D

This repository is no longer maintained.

Feel free to create pull requests if you have some improvement, but I won't do any testing

Angular directive that allow you to build 3D carousel.

Carousel DEMO PAGE

Setup and usage :

  1. If you use bower, just run bower install angular-carousel-3d. If not, download files angular-swipe.js, carousel-3d.css, and carouse3d.js from the following github repos :

Note: you can download and use the minified versions as well.

  1. Add theses files to your code:
<link href="carousel-3d.css" rel="stylesheet" type="text/css" /> <script src="angular.js"></script> <script src="angular-swipe.js"></script> <script src="carousel-3d.js"></script>
  1. Add the angular-carousel-3d module as a dependency to your application module:
angular.module('MyApp', ['angular-carousel-3d']);
  1. In your template :
  • Add a carousel-3d attribute to any element.
  • Add ng-model with your array of objects
  • Add carousel3d-slide directive and ng-repeat to render slides
<div carousel3d ng-model="arrayOfObjects">     <div carousel3d-slide ng-repeat="slide in app.slides track by $index">         <figure>             <img ng-src="{{slide.src}}" alt=""/>             <figcaption ng-bind="slide.caption"></figcaption>         </figure>     </div> </div>

Note: the directive works with or without jQuery.

Directive attributes :

  • ngModel: an array containing the list of carousel slides
  • options: an object containing theses properties:
    • loop: slide looping (Default: false)
    • clicking: enable navigation with slide clicking (Default: false)
    • sourceProp image source property (Default: '')
    • visible number of visible slides (Default: 5)
    • perspective slide distance between z=0 (Default: 35)
    • animationSpeed slide animation speed in ms (Default: 500)
    • dir direction of the automatic slide (Default: ltr, Available options : 'rlt', 'ltr')
    • width: width of slide (Default: 360)
    • height: height of slide (Default: 270)
    • border: width of slide border (Default: 0)
    • space: space between slides (Default: auto)
    • topSpace: space XXXX (Default: auto)
    • controls: toggle arrow controls on carousel (Default: false)
    • startSlide: scale of background slides (Default: 0)
    • inverseScaling: scale of background slides (Default: 300)
    • autoRotationSpeed: scale of background slides (Default: 0)

Directive callbacks :

  • on-selected-click : Callback that is invoked when the center slide was clicked.
  • on-slide-change : Callback that is invoked when the slide is changed.
  • on-last-slide : Callback that is invoked on last slide selected.
  • on-before-change : Callback that is invoked before slide change. Prevent the carousel from sliding by returning the boolean value false inside the callback.

ToDo:

  • Vertical Carousel option
  • Add tests

You May Also Like