osb/public/theme/frontend/metronic/pages/js/bs-carousel.js

54 lines
1.8 KiB
JavaScript

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);
}();