Javascript geht in Firefox, IE heult rum
-
Juhu, gestern habe ich ein Script geschrieben, und nachdem alles Rund lief, kam mir die Idee, es mal im IE zu testen. FAIL!
Er meckert über diese Funktion:
this.startAnim = function startAnim(page, obj) { if(!obj) obj = this; if(page == obj.numpages) page = 0; obj.showPage(page); [b]// <-- Fehler: Das Objekt unterstützt die Eigenschaft oder Methode "showPage" nicht [/b] obj.timerId = setTimeout(obj.startAnim, obj.time, page + 1, obj); }
Offenbar tritt der Fehler erst auf, nachdem sie sich über den Timer selbst aufgerufen hat. Leider habe ich keine Ahnung, was falsch sein soll. Habt ihr ne Idee?
-
Problem gefixt.
So mag IE es lieber:
this.startAnim = function startAnim(page) { obj = this; if(page == obj.numpages) page = 0; obj.showPage(page); obj.timerId = setTimeout(function() { obj.startAnim(page + 1); }, obj.time); }
Brainfuck. IE6 erspar ich mir jetzt. Ist Sonntag.
-
Wieso übergibst du this als 3. Parameter?
Das macht recht wenig Sinn...Per .call kann man den Kontext der Funktion jederzeit selbst setzen - falls notwendig...
Was willst du damit denn erreichen?