Lieber Jense,
Wenn man innerhalb einer (Konstruktor-)Funktion (hier: oSlide5) eine private Funktion definiert (hier: fSlideAufZu), dann sollte doch bei einer neuen Instanz von oSlide5 auch fSlideAufZu neu entstehen, also nur für das entsprechende Objekt arbeiten/funktionieren.
Du irrst hier.
Nach meinem Verständnis sind Funktionen in JavaScript immer global, sprich: Methoden des window-Objektes. Nur wenn Du das so notierst, ist eine Funktion "privat":
meinObjekt.meineFunktion = function () { ... }
Nach meinem Wissen sind "private" Funktionen in JavaScript Methoden eines existierenden Objekts, nur beim window-Objekt kann man anstatt z.B. window.alert()
auch einfach nur alert()
schreiben. Das macht die Funktion anscheinend "global", obwohl sie es in Wirklichkeit nicht ist, denn sie ist "nur" eine Methode des window-Objektes, das eben in JavaScript das höchste Objekt in der Objekthierarchie ist.
In Deinem Konstruktor müsstest Du this.fSlideAufZu = function (param) { ... }
notieren, damit Du eine an das Objekt gebundene Funktion (alias Methode) bekommst. Der Aufruf dieser Funktion ist aber dann auch an das Objekt gebunden! Du kannst dann nicht mehr einfach so notieren:
window.setTimeout("fSlideAufZu(obj)", xyz)
Du musst stattdessen das Objekt, dessen Methode Du willst, explizit aufrufen:
window.setTimeout("meinObjekt.fSlideAufZu(obj)", xyz)
Vielleicht hilft Dir ja dieser Thread weiter, in dem ich einen Lehrgang angefangen habe, der auch mit Animationen zu tun hat. Der dazugehörige Feature-Artikel ist leider noch in Arbeit, sodass ich Dich noch nicht darauf verweisen kann.
Liebe Grüße,
Felix Riesterer.
ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)