Basic-Syntax für eine Animation Schleife?

stimmen
1

Ich weiß, dass jQuery zum Beispiel Animation der Art zu tun. Ich weiß auch, dass im Kern der Animation, muss es mir eine Art Schleife, um die Animation zu tun. Was ist ein Beispiel für eine solche Schleife?

Eine vollständige Antwort sollte folgende Fragen beantworten ideal:

  • Was ist eine grundlegende Syntax für eine effektive Animation Rekursion, die eine einzelne Eigenschaft eines bestimmten Objekts zu einer Zeit, animieren? Die Funktion sollte in der Lage sein, sein Zielobjekt und Eigenschaft des Objekts zu variieren.
  • Welche Argumente / Parameter sollte es dauern?
  • Was ist ein guter Bereich um die Schleife zu wiederholen,? In Millisekunden? (Sollte dies ein Parameter / Argument für die Funktion?)

MERKEN:

  • Die Antwort ist nicht unbedingt die Sprache spezifisch, aber wenn Sie in einer bestimmten Sprache schreiben, bitte angeben, welche.
  • Die Fehlerbehandlung ist ein Plus. {Denn nichts ist ärgerlicher (für unsere Zwecke) als eine Animation, die etwas Fremdes tut, wie auf halbem Weg durch zu stoppen.}

Vielen Dank!

Veröffentlicht am 07/03/2010 um 14:52
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

typisch (für jQuery mindestens) wird dies nicht in einer Schleife durchgeführt, sondern in einer Reihe von Rückrufen.

pseudojavascript:

function startAnimation(element, endPosition, duration) {
    var startPosition = element.position;
    var startTime = getCurrentTime();
    function animate() {
        var timeElapsed = getCurrentTime() - startTime;
        if (timeElapsed > duration) {
            element.position = endPosition;
            stopTimer();
        } else {
            // interpolate based on time
            element.position = startPosition +
                (endPosition - startPosition) * timeElapsed / duration;
        }
    }
    startRepeatingTimerWithCallbackAndInterval(animate, 1.0 / 30.0);
}

Es ist auch möglich, Objekte zu verwenden, um Daten zu speichern, anstatt Schließungen beginnen.

Dies gilt nicht vollständig alle Punkte in der Frage zu beantworten, aber es ist ein Ausgangspunkt.

Beantwortet am 08/03/2010 um 20:54
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more