JavaScript punt met komma vervangen in counter

Status
Niet open voor verdere reacties.

pilootnour5

Terugkerende gebruiker
Lid geworden
22 nov 2008
Berichten
1.895
Ik wil graag een soort van counter gebruiken op een van mijn pagina's. De counter telt bij het laden van het scherm op naar het getal, geeft het een beetje een dynamisch idee. Verder is het puur cosmetisch.

Enige probleem dat ik er mee heb is dat het decimaal nu een punt is en geen komma... Als ik de split verander in een komma, dan werkt het niet meer. Verder heb ik gekeken naar de replace functies van JS maar ik weet niet echt wat de variabele is die hier veranderd moet worden. Ik ben totaal niet thuis in JS.

Hierbij het script:
Code:
function startCounter(){
	$('.counter').each(function (index) {
        var size = $(this).text().split(".")[1] ? $(this).text().split(".")[1].length : 0;
	    $(this).prop('Counter',0).animate({
	        Counter: $(this).text()
	    }, {
	        duration: 2000,
	        easing: 'swing',
	        step: function (now) {
	            $(this).text(parseFloat(now).toFixed(size));
	        }
	    });
	});
}	

startCounter();

en de HTML:
Code:
Test <div class="counter">92.1</div>
<div class="counter">92</div>
<div class="counter">92.14</div>

https://jsfiddle.net/wmaftobx/79/

Ik ben ook vooral benieuwd naar hoe het moet.
 
Code:
$(this).text(parseFloat(now).toFixed(size).replace('.',','));
verandert de punt in een komma.
 
Bron, dank je wel! Is er ook een manier om hierin de duizendtallen met een punt te verdelen? Dus 4.990.143,54 en dan ook tellend.
 
Er zijn vele plugins voor jQuery om getallen te formatten maar als het alleen om een . en een , gaat dan kan het simpel.
Code:
<div class="counter">1234592.1</div>
<div class="counter">1234592</div>
<div class="counter">1234592.14</div>

$(this).text(parseFloat((now).toFixed(size)).toLocaleString());

Noot:
Het format van een getal is land/browser afhankelijk, bijvoorbeeld in NL x.xxx,yy en in de VS x,xxx.xx. Dus in elk land ziet men de goede notatie. Gebruik geen opties tussen de haakjes van toLocaleString(...), die worden slecht ondersteund.


Suc6. Have fun.
 
Laatst bewerkt:
Ziet er goed uit. Precies wat ik nodig heb. Ik kwam die toLocaleString() al tegen toen ik het zelf opzocht maar ik had geen idee hoe ik het moest gebruiken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan