1/** 2 * Copyright ETS Software Technology Co., Ltd 3 * 4 * NOTICE OF LICENSE 5 * 6 * This file is not open source! Each license that you purchased is only available for 1 website only. 7 * If you want to use this file on more websites (or projects), you need to purchase additional licenses. 8 * You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party. 9 * 10 * DISCLAIMER 11 * 12 * Do not edit or add to this file if you wish to upgrade PrestaShop to newer 13 * versions in the future. 14 * 15 * @author ETS Software Technology Co., Ltd 16 * @copyright ETS Software Technology Co., Ltd 17 * @license Valid for 1 website (or project) for each purchase of license 18 */ 19(function($) { 20 var MLS_Slider = function(element, options){ 21 var settings = $.extend({}, $.fn.mls_slider.defaults, options); 22 var slider = $(element); 23 var currentSlide = slider.find('li.mls_slide_front.active').eq(0); 24 var playSlide = function(ik) 25 { 26 if($('li.mls_slide_front.item_'+ik).length > 0 && !$('li.mls_slide_front.item_'+ik).hasClass('active')) 27 { 28 if($('li.mls_slide_front.active').length > 0) 29 { 30 moveOut($('li.mls_slide_front.active'),function(){ 31 moveIn($('li.mls_slide_front.item_'+ik),function(){}); 32 }); 33 } 34 else 35 { 36 moveIn($('li.mls_slide_front.item_'+ik),function(){}); 37 } 38 slider.addClass('mls_running'); 39 } 40 } 41 var moveIn = function(slide,moveInCallBack) 42 { 43 slider.addClass('mls_moving_in'); 44 $('.mls_pag_button').removeClass('active');
45 $('.mls_pag_button[data-slide-order="'+slide.attr('data-slide-order')+'"]').addClass('active'); 46 slide.css('animation-duration',settings.moveIn+'ms'); 47 slide.css('transition-duration',settings.moveIn+'ms'); 48 slide.removeClass(slide.attr('data-animation-out')).addClass(slide.attr('data-animation-in')).addClass('active').delay(settings.moveIn).queue(function(){ 49 if(slide.find('.msl_layer_front').length > 0) 50 { 51 slide.find('.msl_layer_front').each(function(){ 52 $(this).delay($(this).attr('data-delay-in')).queue(function(){ 53 $(this).css('animation-duration',$(this).attr('data-move-in')+'ms'); 54 $(this).removeClass($(this).attr('data-animation-out')).addClass($(this).attr('data-animation-in')).addClass('active').dequeue(); 55 }) 56 }); 57 } 58 $(this).dequeue(); 59 }).delay(slide.attr('data-max-layer-in')).queue(function(){ 60 moveInCallBack.call(this); 61 slider.removeClass('mls_running'); 62 slider.removeClass('mls_moving_in'); 63 $(this).dequeue(); 64 }); 65 if(settings.enableRunningBar && $('.mls_slider_running').length > 0) 66 { 67 $('.mls_slider_running').eq(0).css('animation-duration',(parseInt(settings.moveIn) + parseInt(slide.attr('data-max-layer-in')))+'ms') 68 } 69 return slide; 70 } 71 var moveOut = function (slide,moveOutCallback) 72 { 73 slide.find('.msl_layer_front').each(function(){ 74 $(this).delay($(this).attr('data-delay-out')).queue(function(){ 75 $(this).css('animation-duration',$(this).attr('data-move-out')+'ms'); 76 $(this).removeClass($(this).attr('data-animation-in')).addClass($(this).attr('data-animation-out')).delay($(this).attr('data-move-out')-100).queue(function(){ 77 $(this).removeClass('active').dequeue(); 78 }).dequeue(); 79 }); 80 }); 81 slide.delay(slide.attr('data-max-layer-out')).queue(function(){ 82 moveOutCallback.call(this); 83 slide.css('animation-duration',settings.moveOut+'ms'); 84 slide.css('transition-duration',settings.moveOut+'ms'); 85 $(this).removeClass($(this).attr('data-animation-in')).addClass($(this).attr('data-animation-out')).delay(settings.moveOut).queue(function(){ 86 $(this).removeClass('active').dequeue(); 87 }).dequeue(); 88 }); 89 } 90 91 var play = function() 92 { 93 clearInterval($.fn.mls_slider.itervalTimer); 94 $.fn.mls_slider.itervalTimer = 0; 95 if(!settings.enablePagination && $('.mls_pagination').length > 0) 96 $('.mls_pagination').remove(); 97 if(!settings.enableNav && $('.mls_nav').length > 0) 98 $('.mls_nav').remove(); 99 if(!settings.enableRunningBar && $('.mls_slider_running').length > 0) 100 $('.mls_slider_running').remove(); 101 if($('.mls_slide_front.item_'+settings.startSlide).length > 0) 102 { 103 playSlide(settings.startSlide); 104 if(settings.autoPlay) 105 autoPlay(); 106 } 107 else if($('.mls_slide_front').length > 0) 108 { 109 playSlide(1); 110 if(settings.autoPlay) 111 autoPlay(); 112 } 113 $('.mls_pag_button').click(function(){ 114 if(!$(this).hasClass('active') && !slider.hasClass('mls_running')) 115 { 116 playSlide($(this).attr('data-slide-order')); 117 if(settings.autoPlay) 118 { 119 clearInterval($.fn.mls_slider.itervalTimer); 120 autoPlay(); 121 } 122 } 123 }); 124 $('.mls_next').click(function(){
125 if(!slider.hasClass('mls_running')) 126 { 127 if($('.mls_slide_front.active').length > 0 && $('.mls_slide_front.active').next('li.mls_slide_front').length > 0) 128 { 129 playSlide($('.mls_slide_front.active').next('li.mls_slide_front').attr('data-slide-order')); 130 if(settings.autoPlay) 131 { 132 clearInterval($.fn.mls_slider.itervalTimer); 133 autoPlay(); 134 } 135 } 136 else if($('.mls_slide_front').length > 1 && settings.loop) 137 { 138 playSlide(1); 139 if(settings.autoPlay) 140 { 141 clearInterval($.fn.mls_slider.itervalTimer); 142 autoPlay(); 143 } 144 } 145 } 146 }); 147 $('.mls_prev').click(function(){ 148 if(!slider.hasClass('mls_running')) 149 { 150 if($('.mls_slide_front.active').length > 0 && $('.mls_slide_front.active').prev('li.mls_slide_front').length > 0) 151 { 152 playSlide($('.mls_slide_front.active').prev('li.mls_slide_front').attr('data-slide-order')); 153 if(settings.autoPlay) 154 { 155 clearInterval($.fn.mls_slider.itervalTimer); 156 autoPlay(); 157 } 158 } 159 else if($('.mls_slide_front').length > 1 && settings.loop) 160 { 161 playSlide($('.mls_slide_front').length); 162 if(settings.autoPlay) 163 { 164 clearInterval($.fn.mls_slider.itervalTimer); 165 autoPlay(); 166 } 167 } 168 169 } 170 }); 171 if(settings.pauseOnHover && settings.autoPlay) 172 { 173 slider.hover(function(){ 174 clearInterval($.fn.mls_slider.itervalTimer); 175 $.fn.mls_slider.itervalTimer=''; 176 },function(){ 177 if($.fn.mls_slider.itervalTimer==='') 178 autoPlay(); 179 }); 180 } 181 182 } 183 var autoPlay = function() 184 { 185 $.fn.mls_slider.itervalTimer = setInterval(function(){ 186 if($('.mls_slide_front.active').length > 0 && $('.mls_slide_front.active').next('li.mls_slide_front').length > 0) 187 { 188 playSlide($('.mls_slide_front.active').next('li.mls_slide_front').attr('data-slide-order')); 189 } 190 else if($('.mls_slide_front').length > 1 && settings.loop) 191 playSlide(1); 192 },parseInt(settings.stand)+parseInt(slider.attr('data-max-slide-time'))+1000); 193 } 194 //Play slider 195 var backgroundLoaded = false; 196 var layerImagesLoaded = false; 197 if(settings.enableLoading) 198 { 199 !slider.hasClass('loading') 200 slider.addClass('loading'); 201 if($('.mls_slides_front > li').length > 0) 202 { 203 var firstSlideBackground = $('.mls_slides_front > li:first-child').attr('data-slide-background-image'); 204 if(firstSlideBackground!='') 205 { 206 $('<img/>').attr('src', firstSlideBackground).load(function() { 207 $(this).remove(); 208 $('.mls_slides_front > li:first-child').css('background-image', 'url("'+firstSlideBackground+'")'); 209 backgroundLoaded = true; 210 if(layerImagesLoaded && slider.hasClass('loading')) 211 { 212 slider.removeClass('loading'); 213 play(); 214 } 215 return false; 216 }); 217 } 218 else 219 backgroundLoaded = true; 220 if($('.mls_slides_front > li:first-child').find('img').length > 0) 221 { 222 var images = $('.mls_slides_front > li:first-child img'); 223 var elemsCount = images.length; 224 var loadedCount = 0; 225 images.load(function (){ 226 loadedCount++; 227 if (loadedCount == elemsCount) { 228 layerImagesLoaded = true; 229 if(backgroundLoaded && slider.hasClass('loading')) 230 { 231 slider.removeClass('loading'); 232 play(); 233 return false; 234 } 235 } 236 }); 237 } 238 else 239 layerImagesLoaded = true; 240 if(backgroundLoaded && layerImagesLoaded) 241 { 242 if(slider.hasClass('loading')) 243 slider.removeClass('loading'); 244 play(); 245 } 246 } 247 setTimeout(function(){ 248 if(slider.hasClass('loading')) 249 { 250 slider.removeClass('loading'); 251 play(); 252 } 253 },5000); 254 } 255 else 256 { 257 if(slider.hasClass('loading')) 258 slider.removeClass('loading'); 259 play(); 260 } 261 } 262 $.fn.mls_slider = function(options) { 263 var mlsslider = new MLS_Slider(this, options); 264 return this; 265 }; 266 //Default settings 267 $.fn.mls_slider.defaults = { 268 enableNav: true, 269 enablePagination: true, 270 enableLoading: true, 271 enableRunningBar: true, 272 moveIn: 2000, 273 moveOut: 2000, 274 stand: 5000, 275 loop: true, 276 autoPlay: true, 277 pauseOnHover: true, 278 startSlide: 1, 279 }; 280 $.fn.mls_slider.itervalTimer = 0; 281})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.