Ich habe einen animierten Stat-Circle-Counter mit Hilfe von Bits und Bobs zusammengestellt, die ich gefunden habe. Der Kreis hat den numerischen Wert in der Mitte, und ich habe das Ergebnis erfolgreich von Null aufwärts gezählt, wenn es läuft.So wenden Sie eine jQuery-Funktion auf Inline-CSS an
<div class="single-circle">
<h6 class="counter stat">50</h6>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 165 165" class="circle-svg">
<g id="circles" data-name="circles">
<circle class="back-circle" cx="82.5" cy="82.5" r="75" />
<circle class="front-circle" cx="82.5" cy="82.5" r="75" style="stroke-dashoffset: -235px;" />
</g>
</svg>
</div>
Und hier ist die jQuery:
$('.counter').each(function() {
var $this = $(this);
jQuery({ Counter: 0 }).animate({ Counter: $this.text() }, {
duration: 2000,
easing: 'swing',
step: function() {
$this.text(Math.ceil(this.Counter));
}
});
});
Ich möchte nun die gleiche Funktion anwenden zu ".front-Kreis" durch den Inline-Stil Selektor "strokedash-Offset" Targeting, um den Kreis neben dem numerischen Zähler animieren zu lassen, aber ich kämpfe darum, dies zu erreichen.
Voll JS Fiddle mit SCSS hier: https://jsfiddle.net/ch8phcbd/
Nur um zu klären, ich möchte den Inline-Stil Selektor Wert um dies zielen und zu manipulieren, zu erreichen und vermeiden veränderbare Werte in der jQuery platzieren, wie es in der finale Version Dieser Wert wird dynamisch in die Ansichtsseite übernommen.
Jede Hilfe wird geschätzt.
Danke!
Danke, das ist großartig. Die Menge, um die der erste Kreis fortschreitet, spiegelt jedoch nicht den Betrag in der Mitte (50%) wider. Sieht so aus, als würde es ungefähr ein Drittel des Weges gehen. Wie würde dies angegangen werden? Außerdem möchte ich den Inline-Stil der Objektklasse anvisieren. "first-circle ", anstatt die Beträge separat in der jQuery anzugeben. Der Grund dafür ist, dass ich diese Daten dynamisch auf die View-Seite ziehen werde - in der finalen Version wird diese durch eine Variable ersetzt. Ich werde updaten Der ursprüngliche Beitrag, um dies besser zu klären. – alexconnor7
Ich wusste nicht, dass es ein Prozentsatz sein sollte. Ich machte einige Änderungen an meiner Antwort und enthalten eine neue js Geige. – DobromirM