autoplay.min.js 2.2 KB
N2Require("SmartSliderWidgetAutoplayImage",[],[],function(t,e,i){"use strict";function s(e,i,s,a){this.slider=window[e],this.slider.started(t.proxy(this.start,this,e,i,s,a))}return s.prototype.start=function(e,i,s,a){return this.slider.sliderElement.data("autoplay")?!1:(this.slider.sliderElement.data("autoplay",this),this.paused=!1,this.button=this.slider.sliderElement.find(".nextend-autoplay"),this.slider.controls.autoplay.hasButton=!!this.button.length,void(this.slider.controls.autoplay._disabled?this.destroy():(this.slider.controls.autoplay.parameters.start||(this.paused=!0,this.setPaused()),this.deferred=t.Deferred(),this.slider.sliderElement.on({"SliderDevice.n2-widget-autoplay":t.proxy(this.onDevice,this),"autoplayStarted.n2-widget-autoplay":t.proxy(this.setPlaying,this),"autoplayPaused.n2-widget-autoplay":t.proxy(this.setPaused,this),"autoplayDisabled.n2-widget-autoplay":t.proxy(this.destroy,this)}).trigger("addWidget",this.deferred),this.button.on("universalclick",t.proxy(this.switchState,this)),this.desktopRatio=i,this.tabletRatio=s,this.mobileRatio=a,this.button.n2imagesLoaded().always(t.proxy(this.loaded,this)))))},s.prototype.loaded=function(){this.button.css("display","inline-block"),this.width=this.button.width(),this.height=this.button.height(),this.button.css("display",""),this.onDevice(null,{device:this.slider.responsive.getDeviceMode()}),this.deferred.resolve()},s.prototype.onDevice=function(t,e){var i=1;switch(e.device){case"tablet":i=this.tabletRatio;break;case"mobile":i=this.mobileRatio;break;default:i=this.desktopRatio}this.button.width(this.width*i),this.button.height(this.height*i)},s.prototype.switchState=function(t){t.preventDefault(),t.stopImmediatePropagation(),this.paused?(this.setPlaying(),this.slider.sliderElement.triggerHandler("autoplayExtraContinue","autoplayButton"),this.slider.next()):(this.setPaused(),this.slider.sliderElement.triggerHandler("autoplayExtraWait","autoplayButton"))},s.prototype.setPaused=function(){this.paused=!0,this.button.addClass("n2-autoplay-paused")},s.prototype.setPlaying=function(){this.paused=!1,this.button.removeClass("n2-autoplay-paused")},s.prototype.destroy=function(){this.slider.sliderElement.off(".n2-widget-autoplay"),this.button.remove()},s});