jQuery animierte Anzahl Zähler von null auf den Wert
Habe ich ein Skript erstellt zu animieren, eine Anzahl von null an ist es Wert.
Arbeiten
jQuery
JS:
$({ Counter: 0 }).animate({
Counter: $('.Single').text()
}, {
duration: 1000,
easing: 'swing',
step: function() {
$('.Single').text(Math.ceil(this.Counter));
}
});
HTML:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="Single">150</span>
Nicht Arbeiten
Will ich jetzt ausführen, um das Skript mehrfach auf der Seite für jeden passende Klasse.
Unten ist das, was ich bin versucht, aber bisher ohne Erfolg:
HTML
<span class="Count">200</span>
<span class="Count">55</span>
JQUERY
$('.Count').each(function () {
jQuery({ Counter: 0 }).animate({ Counter: $(this).text() }, {
duration: 1000,
easing: 'swing',
step: function () {
$(this).text(Math.ceil(this.Counter));
}
});
});
- Überprüfen Sie dieses einfache Beispiel für Jquery Animierte Anzahl Zähler Von Null Auf Wert - Javascript-Animation
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre
this
bezieht sich nicht auf das element in der Schritt-Rückruf, anstatt Sie möchten, halten eine Referenz auf den Anfang der Funktion (eingewickelt in$this
in meinem Beispiel):Update: Wenn Sie möchten, Dezimalzahlen, dann statt der Rundung den Wert mit
Math.ceil
Sie können rund bis zu 2 Dezimalstellen zum Beispiel mitvalue.toFixed(2)
:100.50
zeigt sich als101
, versucht, mit @ashicus und @floribon code funktioniert aber nicht, irgendwelche Ideen? Vielen Dank im Voraus!this
in den Schritt, Rückruf ist nicht das element, sondern das übergebene Objekt animieren()Einen anderen Weg, dies zu tun und halten Sie die Verweise auf
this
wäreGEIGE
WICHTIG: Es scheint wie ein kleiner Unterschied, aber Sie sollten wirklich ein data-Attribut, um zu halten die ursprüngliche Zahl zu zählen, bis zu. Änderung der ursprünglichen Zahl kann un-beabsichtigten Folgen. Zum Beispiel, ich habe diese animation ausführen jedes mal wenn ein element betritt den Bildschirm. Aber wenn das element enters, exits, und dann in den Bildschirm ein zweites mal, bevor die erste animation abgeschlossen ist, wird es zählen, bis die falsche Nummer.
HTML:
JQuery:
Was der code macht, ist, dass die Zahl 8000 ist das zählen von 0 auf 8000. Das problem ist, dass es in der Mitte der Recht langen Seite, und wenn der Benutzer einen Bildlauf nach unten und sehen tatsächlich die Zahl, die animation ist schon Speisen. Ich würde gerne die trigger der Zähler, sobald es erscheint im Ansichtsfenster.
JS:
Und HTML:
Können Sie das element selbst in
.each()
, versuchen Sie dies statt mitthis
Hier ist meine Lösung
und es ist auch Arbeit, wenn das element zeigt sich in den viewport
Sehen Sie den code in Aktion, indem Sie jfiddle
Dies ist für mich arbeiten
Dies ist Arbeit für mich !
Dieser arbeitete für mich
HTML-CODE
jQuery-Code
Können Sie tun es mit der animate-Funktion in jQuery.
Vollständiger Artikel:
http://www.mishelshaji.co.in/howto/animated-number-counter-using-jquery/