PDA

View Full Version : [js] problema setTimeout all' interno di una classe


AlexCyber
03-08-2008, 00:04
var op = function(){


function opacity(id, opacStart, opacEnd, millisec) {
//speed for each frame
var speed = Math.round(millisec / 100);
var timer = 0;
var self = this;
//determine the direction for the blending, if start and end are the same nothing happens
if(opacStart > opacEnd) {
for(i = opacStart; i >= opacEnd; i--) {
setTimeout(function(){self.changeOpac(i,id)},(timer * speed));
timer++;
}

} else if(opacStart < opacEnd) {
for(i = opacStart; i <= opacEnd; i++)
{
setTimeout(function(){self.changeOpac(i,id)},(timer * speed));
timer++;
}
}
};

function changeOpac(opacity, id) {
var object = document.getElementById(id).style;
object.opacity = (opacity / 100);
object.MozOpacity = (opacity / 100);
object.KhtmlOpacity = (opacity / 100);
object.filter = "alpha(opacity=" + opacity + ")";
};


return {
opacity:opacity

}

}();

<body>
<script>
window.onload=function(){
op.opacity('box', 0, 100, 4000)

//obj.opacity('box', 0, 100, 4000)
}
</script>
<div id="box">
<p>bla bla bla bla bla blabla bla blabla bla bla</p>
</div>

</body>


il metodo changeOpac non viene trovato:
setTimeout(function(){self.changeOpac(i,id)},(timer * speed));

non so più cosa fare le ho provate tutte, come si può fare?
grazie