Salve,
sto tentando di creare un oggetto personalizzato in JavaScript, mi trovo di fronte ad un problema. Scritto questo codice:
codice:
function Anim(id,property,startValue,endValue,speed) {
this.el = document.getElementById(id);
this.property = property;
this.endValue = endValue;
this.speed = speed || 10;
this.direction = (startValue > endValue)?-1 :1;
this.changeValue = changeValue;
if(property == 'alpha') this.setOpacity(startValue);
else this.el.style[property] = startValue + 'px';
this.tm = setInterval("this.changeValue()",speed);
}
function changeValue() {
document.getElementById('output').innerHTML = this;
}
il metodo changeValue perde il riferimento all'oggetto di cui fa parte (nel div output viene stampato [Object Window]). Suppongo dipenda dall'uso di setInterval. Qualcuno saprebbe dirmi come ovviare al problema? Come fare in modo che anche changeValue riconosca this come riferimento ad Anim? Grazie!