Animieren mit jQuery ist einfach. Hier ist ein Beispiel für eine Zahl von 0 bis 1000 länger als 2 Sekunden Animieren:Wie verlängere ich das Aktualisierungsintervall oder reduziere die Anzahl der Schritte von jQuerys .animate() -Methode?
var $h1 = $('h1'),
startValue = parseInt($h1.text(), 10),
endValue = parseInt($h1.data('end-value'), 10);
$({ int: startValue })
.animate({
int: endValue
}, {
duration: 2 * 1000,
step: function() {
$h1.text(Math.ceil(this.int));
}
});
Arbeitsbeispiel: http://codepen.io/troywarr/pen/NpjyJE?editors=1010#0
Diese Animation sieht nett aus, aber macht es schwierig, die Anzahl an jedem Punkt während der lesen Animation, wie die nächste Zahl innerhalb von Millisekunden ersetzt. Im Idealfall möchte ich die Zahl über die gleiche Zeitspanne animieren, aber weniger Schritte (Erhöhung der Länge des Aktualisierungsintervalls), so dass es einfacher ist, die Zahl auf einen Blick zu lesen, wenn sie animiert wird.
Es scheint nicht, dass jQuery direkte Kontrolle über die Anzahl der Schritte in der Animation oder das Aktualisierungsintervall bietet; es scheint nur eine step
function zu akzeptieren, die einen interpolierten Wert erhält.
Gibt es eine Möglichkeit, die Anzahl der Schritte anzupassen, die jQuery verwendet, um die Animation über ihre Dauer zu interpolieren?
Sie scheinen Ihre Frage beantwortet zu haben :) – CaptainHere
Ja und nein - mein Ansatz funktioniert, ist aber nicht optimal. In der Lage zu sein, die Anrufe auf "Schritt" zu reduzieren, wäre vom Standpunkt der Leistung aus vorzuziehen, aber das ist es, was ich nicht herausfinden kann. – Bungle
Was ist das erwartete Ergebnis? Um das Sampling des aktuellen "Steps" oder jeden Schritt in der Sequenz anzuzeigen? Die Gesamtdauer der Animation beträgt nur "2 * 1000". Versuchen Sie, jede Nummer für zwei Sekunden anzuzeigen? – guest271314