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.


  • Mod

    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?


Anmelden zum Antworten