• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Animiertes Scrollen mit mehreren Aufrufen

Mephiztopheles

New member
Hey,

Ich habe ein kleines Problem, dass ich eine Animation verlängern will und unter umständen verschnellern...

ich benutze jQuery und darin die Funktion animate

das sieht ungefähr so aus:
Code:
element.animate({scrollTop: 200}, {duration: 600});

Wenn ich die Funktion nochmal aufrufe, hätte ich gerne, dass der Wert sich um 50 erhöht und die Geschwindigkeit um ein drittel erhöht...
Ihr könnt sicher erahnen, worum es geht: FancyScroll
Ich hab da schon so ne winzige Lösung gefunden, aber damit bin ich nicht zufrieden, da es wenn man die Animation schneller schaltet nicht mehr animiert wirkt
Zudem soll die Animation nicht linear verlaufen

Greetz Mephizto
 
Ganz grob würde ich sowas wohl machen (hier im Fenster geschrieben - ungetestet und keine Gewähr; nicht hauen!) ... es geht primär darum, dass Du beim nächsten Aufruf die neuen Zahlen hast - ist also nur als "Muster" zu verstehen.

Code:
var scrollOmat = {
   pixels: 200,
   duration: 600,

   scroll: function(element){
      element.animate({scrollTop: scrollOmat.pixels}, {duration: scrollOmat.duration});
      scrollOmat.levelUp();
   },

   levelUp: function(){
      scrollOmat.pixels += 50;
      scrollOmat.duration -= (scrollOmat.duration * 0.33);
      // hier könnten einige Dinge abgefangen werden ^^
   }
}

scrollOmat.scroll( SELECTOR_DEINER_WAHL );
 
Das Problem dabei ist, dass die Animation hinten drauf gepackt wird und die erste noch weiter läuft. Aber das soll ja nicht.
Ich kann ja mal meinen Code zur Verfügung stellen....
 

Anhänge

  • fancyscroll.txt
    716 Bytes · Aufrufe: 1
Zuletzt bearbeitet:
Das ging aus Deinem Posting für mich nicht hervor - dann benötigst Du (IMO) mind. einen .stop()-Befehl, der jedes Mal eine laufende Animation vorab beendet.
 
Das sagt es doch schon
Da eine Animation immer einen Zyklus "von ... bis ..." definiert, ist ein "Automation verlängern" nicht identisch mit "Animationsdauer ändern, während diese noch läuft" - zumindest aus meiner Sicht. :) Hier ist die Fragestellung vielleicht nicht so, wie es in Deinem Kopf wirklich präsent ist.

Mit einer Suche bei Doc Google bekam ich auf Anhieb bei SO einen solchen Ansatz: klick mich - das dürfte Dir mit Sicherheit weiterhelfen.

Viel Erfolg.
 
Zurück
Oben