-
Notifications
You must be signed in to change notification settings - Fork 0
/
pwanimate-0.1.min.js
1 lines (1 loc) · 1.25 KB
/
pwanimate-0.1.min.js
1
var pwanimate=new function(){this.animation=function(t){this.frame=function(t,i){var e=Math.floor(i.width/i.frameWidth);this.x="-"+t.f%e*i.frameWidth+"px",this.y="-"+Math.floor(t.f/e)*i.frameHeight+"px",this.timeout=t.t},this.currentFrame=0,this.timer=0,this.element=t.element,this.image=t.image,this.width=t.width,this.height=t.height,this.frameWidth=t.frameWidth,this.frameHeight=t.frameHeight,this.frames=function(i){var e=[];return t.frames.forEach(function(t){e.push(new i.frame(t,i))}),e}(this),this.start=function(){var t=this.element;t.style.backgroundImage="url("+this.image+")",t.style.width=this.frameWidth+"px",t.style.height=this.frameHeight+"px",this.startFrame(0)},this.pause=function(){this.timer&&clearTimeout(this.timer),this.timer=0},this.unpause=function(){this.timer||this.startFrame(this.currentFrame)},this.setFrame=function(t){this.currentFrame=t,this.element.style.backgroundPosition=this.frames[t].x+" "+this.frames[t].y},this.startFrame=function(t){this.setFrame(t);var i=this;this.timer=setTimeout(function(){i.nextFrame()},this.frames[t].timeout)},this.nextFrame=function(){var t=function(t,i){return t===i?0:t};this.startFrame(t(this.currentFrame+1,this.frames.length))}},this.animate=function(t){var i=new this.animation(t);return i.start(),i}};