first commit
This commit is contained in:
138
public/js/modules/carousel.js
Normal file
138
public/js/modules/carousel.js
Normal file
@@ -0,0 +1,138 @@
|
||||
CNVS.Carousel = function() {
|
||||
var __core = SEMICOLON.Core;
|
||||
var __base = SEMICOLON.Base;
|
||||
|
||||
return {
|
||||
init: function(selector) {
|
||||
if( __core.getSelector(selector, false, false).length < 1 ){
|
||||
return true;
|
||||
}
|
||||
|
||||
__core.loadJS({ file: 'plugins.carousel.js', id: 'canvas-carousel-js', jsFolder: true });
|
||||
|
||||
__core.isFuncTrue( function() {
|
||||
return typeof jQuery !== 'undefined' && jQuery().owlCarousel;
|
||||
}).then( function(cond) {
|
||||
if( !cond ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
__core.initFunction({ class: 'has-plugin-carousel', event: 'pluginCarouselReady' });
|
||||
|
||||
selector = __core.getSelector( selector );
|
||||
if( selector.length < 1 ){
|
||||
return true;
|
||||
}
|
||||
|
||||
selector.each( function(){
|
||||
var element = jQuery(this),
|
||||
elItems = element.attr('data-items') || 4,
|
||||
elItemsXs = element.attr('data-items-xs') || Number( elItems ),
|
||||
elItemsSm = element.attr('data-items-sm') || Number( elItemsXs ),
|
||||
elItemsMd = element.attr('data-items-md') || Number( elItemsSm ),
|
||||
elItemsLg = element.attr('data-items-lg') || Number( elItemsMd ),
|
||||
elItemsXl = element.attr('data-items-xl') || Number( elItemsLg ),
|
||||
elItemsXxl = element.attr('data-items-xxl') || Number( elItemsXl ),
|
||||
elLoop = element.attr('data-loop'),
|
||||
elAutoPlay = element.attr('data-autoplay'),
|
||||
elSpeed = element.attr('data-speed') || 250,
|
||||
elAnimateIn = element.attr('data-animate-in'),
|
||||
elAnimateOut = element.attr('data-animate-out'),
|
||||
elAutoWidth = element.attr('data-auto-width'),
|
||||
elNav = element.attr('data-nav'),
|
||||
elNavPrev = element.attr('data-nav-prev') || '<i class="uil uil-angle-left-b"></i>',
|
||||
elNavNext = element.attr('data-nav-next') || '<i class="uil uil-angle-right-b"></i>',
|
||||
elPagi = element.attr('data-pagi'),
|
||||
elMargin = element.attr('data-margin') || 20,
|
||||
elStage = element.attr('data-stage-padding') || 0,
|
||||
elMerge = element.attr('data-merge'),
|
||||
elStart = element.attr('data-start') || 0,
|
||||
elRewind = element.attr('data-rewind'),
|
||||
elSlideBy = element.attr('data-slideby') || 1,
|
||||
elCenter = element.attr('data-center'),
|
||||
elLazy = element.attr('data-lazyload'),
|
||||
elVideo = element.attr('data-video'),
|
||||
elRTL = element.attr('data-rtl'),
|
||||
elAutoPlayTime = 5000,
|
||||
elAutoPlayHoverP = true;
|
||||
|
||||
if( elSlideBy == 'page' ) {
|
||||
elSlideBy = 'page';
|
||||
} else {
|
||||
elSlideBy = Number(elSlideBy);
|
||||
}
|
||||
|
||||
if( elLoop == 'true' ){ elLoop = true; } else { elLoop = false; }
|
||||
if( !elAutoPlay ){
|
||||
elAutoPlay = false;
|
||||
elAutoPlayHoverP = false;
|
||||
} else {
|
||||
elAutoPlayTime = Number(elAutoPlay);
|
||||
elAutoPlay = true;
|
||||
}
|
||||
if( !elAnimateIn ) { elAnimateIn = false; }
|
||||
if( !elAnimateOut ) { elAnimateOut = false; }
|
||||
if( elAutoWidth == 'true' ){ elAutoWidth = true; } else { elAutoWidth = false; }
|
||||
if( elNav == 'false' ){ elNav = false; } else { elNav = true; }
|
||||
if( elPagi == 'false' ){ elPagi = false; } else { elPagi = true; }
|
||||
if( elRewind == 'true' ){ elRewind = true; } else { elRewind = false; }
|
||||
if( elMerge == 'true' ){ elMerge = true; } else { elMerge = false; }
|
||||
if( elCenter == 'true' ){ elCenter = true; } else { elCenter = false; }
|
||||
if( elLazy == 'true' ){ elLazy = true; } else { elLazy = false; }
|
||||
if( elVideo == 'true' ){ elVideo = true; } else { elVideo = false; }
|
||||
if( elRTL == 'true' || jQuery('body').hasClass('rtl') ){ elRTL = true; } else { elRTL = false; }
|
||||
|
||||
var carousel = element.owlCarousel({
|
||||
margin: Number(elMargin),
|
||||
loop: elLoop,
|
||||
stagePadding: Number(elStage),
|
||||
merge: elMerge,
|
||||
startPosition: Number(elStart),
|
||||
rewind: elRewind,
|
||||
slideBy: elSlideBy,
|
||||
center: elCenter,
|
||||
lazyLoad: elLazy,
|
||||
autoWidth: elAutoWidth,
|
||||
nav: elNav,
|
||||
navText: [elNavPrev,elNavNext],
|
||||
autoplay: elAutoPlay,
|
||||
autoplayTimeout: elAutoPlayTime,
|
||||
autoplayHoverPause: elAutoPlayHoverP,
|
||||
dots: elPagi,
|
||||
smartSpeed: Number(elSpeed),
|
||||
fluidSpeed: Number(elSpeed),
|
||||
video: elVideo,
|
||||
animateIn: elAnimateIn,
|
||||
animateOut: elAnimateOut,
|
||||
rtl: elRTL,
|
||||
responsive:{
|
||||
0:{ items: elItemsXs },
|
||||
576:{ items: elItemsSm },
|
||||
768:{ items: elItemsMd },
|
||||
992:{ items: elItemsLg },
|
||||
1200:{ items: elItemsXl },
|
||||
1400:{ items: elItemsXxl }
|
||||
},
|
||||
onInitialized: function(){
|
||||
__base.sliderDimensions(element.parents('.slider-element')[0]);
|
||||
__core.runContainerModules(element[0]);
|
||||
|
||||
if( element.find('.owl-dot').length > 0 ) {
|
||||
element.addClass('with-carousel-dots');
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
jQuery(window).on( 'lazyLoadLoaded', function(){
|
||||
if( element.find('.lazy').length == element.find('.lazy.lazy-loaded').length ) {
|
||||
lazyLoadInstance.update();
|
||||
setTimeout( function(){
|
||||
carousel.trigger( 'refresh.owl.carousel' );
|
||||
}, 500);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
};
|
||||
}();
|
||||
Reference in New Issue
Block a user