Hej jeg sidder lige med et lille problem i javascript
jeg har bygget en række funktioner som virker perfekt og vil lave dem til en klasse
problemet er så at i en af funktionerne bruger jeg setTimeout ikke et problem i sig selv men når den skal kalde den funktion den stå i hvordan skal man så gøre:
setTimeout('this.func()',1) // siger det ikke er en function
setTimeout('func()',1) // siger den ikke er defineret
setTimeout('this.func',1) // gør ingen ting
setTimeout('func',1) // gør ingen ting
hvis ikke der findes en løsning så måske et alternativ!!!
Hej.
Det Mathias skriver virker ikke hvis functionen er i en klasse. Hvis jeg har forstået dig ret så prøv det her:
<script>
function MyClass() {
this.MyProperty = "Hello,";
this.MyFunc1 = function(){
var self = this;
setTimeout(function(){ self.MyFunc2(self.MyProperty, "World.!");}, 200);
}
this.MyFunc2 = function(arg1, arg2){
alert(arg1+ " " +arg2);
}
}
test = new MyClass();
test.MyFunc1();
</script>
Som du ser i eksemplet tager MyFunc2 2 parametere, men hvis du ikke har brug for det kan du bare fjerne dem