var BsCarousel = function () { // Carousel interval // $('.carousel').carousel({ // interval: 1000 // }); // smart height detection for all major screens // if (Layout.getViewPort().width > 1600) { // height = $(window).height() - $('.subscribe').outerHeight(); // full height for high resolution // } else if (Layout.getViewPort().height > height) { // height = Layout.getViewPort().height; // } (function( $ ) { //Function to animate slider captions function doAnimations( elems ) { //Cache the animationend event in a variable var animEndEv = 'webkitAnimationEnd animationend'; elems.each(function () { var $this = $(this), $animationType = $this.data('animation'); $this.addClass($animationType).one(animEndEv, function () { $this.removeClass($animationType); }); }); } //Variables on page load var $myCarousel = $('#carousel-example-generic'), $firstAnimatingElems = $myCarousel.find('.item:first').find("[data-animation ^= 'animated']"); //Initialize carousel $myCarousel.carousel({ loop:true, autoplay:true, autoplayTimeout:1000, autoplayHoverPause:true, }); //Animate captions in first slide on page load doAnimations($firstAnimatingElems); //Pause carousel //$myCarousel.carousel('pause'); //Other slides to be animated on carousel slide event $myCarousel.on('slide.bs.carousel', function (e) { var $animatingElems = $(e.relatedTarget).find("[data-animation ^= 'animated']"); doAnimations($animatingElems); }); })(jQuery); }();