Ao transformar a função createSprite em variável, o console retornou com o seguinte erro: sprite.js:1 Uncaught TypeError: createSprite is not a function at sprite.js:1
se eu retorno apenas o createSprite para função declarada, o código funciona perfeitamente. Imagino que o problema esteja em passar um parâmetro na primeira linha.
O que eu fiz de errado?
var sprite = createSprite(".sprite");
setInterval(function(){
sprite.nextFrame();
},500);
var createSprite = function(selector) {
var $el = $(selector);
var frames = ["frame1", "frame2","frame3","frame4","frame5","frame6","frame7","frame8","frame9"]
var current = 0;
var last = frames.length - 1;
$el.addClass(frames[current]);
var moveFrame = function(from,to) {
$el.removeClass(from)
.addClass(to);
}
var hasNext = function(){
return current +1 <= last;
}
var nextFrame = function () {
if(hasNext()){
moveFrame(frames[current], frames[++current]);
}
}
return{
nextFrame: nextFrame
};
}