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

Count Up - Euro Betrag hochzählen

michael2000

New member
Guten Morgen zusammen,

ich bin auf der Suche nach folgender Lösung. und zwar benötige ich sicherlich ein JavaScript welches einen Eurobetrag hochzählt.

Also am 01.01.2015 startet der Counter und zählt am Tag 1 Mio auf.
Am 02.01.2015 hat der Counter dann schon 2 Mio Euro.
Am 03.01.2015 hat der Counter dann 3 Mio Euro
...
am 29.01.2015 hat er bereits 29 mio auf dem Zähler,...

...und so weiter,...

ein bestehendes Script habe ich gefunden, dann zählt er beim aktualisieren jedoch von 0 - x und wenn man wieder neu aktualisiert, dann startet er wieder von vorne,...

Ein Beispiel wie ich es bisher gelöst habe findet Ihr hier:



Vorab vielen Dank für Eure hilfe.

LG,
Michael
 
Zuletzt bearbeitet:
Das liegt ja auch daran das du mittels new countUp("c2", 0, 3000000, 2, 25) immer einen festen Startparameter 0 und einen festen Startparameter 3000000 angibst und ausführst.
Du musst also der Funktion schon die passenden Parameter mitgeben, aber da nicht klar ist woher du diese beziehst, ist eine weiter Hilfestellung nicht möglich...
 
Naja,...woher soll ich sie beziehen?

Ein Jahr hat 365 Tage. Am Ende, also 31.12.2014 soll 1 MRD auf dem Zähler stehen.
dh 1.000/365 = 2.730.000 am Tag

Dieses File liegt dann auf dem Server, wird einmal ausgeführt, berechnet sich und wird dann immer entsprechend angezeigt.

Wenn ich die Lösung kennen würde, dann würde ich ja nicht fragen :) Auch im bezug auf "woher die Daten kommen"....
 
Lange Reder kurzer Sinn... vielleicht hast du so etwas gemeint:
Code:
// a and b are javascript Date objects
function dateDiffInDays(a, b) {
	var millisecondsPerDay = 24 * 60 * 60 * 1000;

	// Discard the time and time-zone information.
	var utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());
	var utc2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());

	return Math.floor((utc2 - utc1) / millisecondsPerDay);
}

window.onload = function () {
	var now = new Date(),         // Date object for today (year, month, day)
		lastDayOfThisYear,        // Date object for the last day of this year (year, month, day)
		lastDayOfPreviousYear,    // Date object for the last day of last year (year, month, day)
		totalDays,                // Total days between lastDayOfThisYear an lastDayOfPreviousYear (364 or 365)
		untilTodayDays,           // Total days between lastDayOfThisYear an now (0 - totalDays)
		perYearEuro,              // Amount of Euro for this total year
		perDayEuro,               // Amount of Euro for one day
		untilTodayEuro,           // Amount of Euro for all days until today
		c2;                       // countUp object

	now = new Date();
	lastDayOfThisYear = new Date(now.getFullYear(), 11, 31);
	lastDayOfPreviousYear = new Date(now.getFullYear() - 1, 11, 31);
	totalDays = dateDiffInDays(lastDayOfPreviousYear, lastDayOfThisYear);
	untilTodayDays = dateDiffInDays(lastDayOfPreviousYear, now);
	perYearEuro = 3000000000;
	perDayEuro = Math.round(perYearEuro / totalDays);
	untilTodayEuro = perDayEuro * untilTodayDays;
	c2 = new countUp("c2", 0, untilTodayEuro, 0, 25);
	c2.start();
};
 
Ich würd' das ja nicht an den Tagen, sonder direkt an der Zeit fest machen:
Code:
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Fenstertitel</title>
<style type="text/css">
#count {
	display: inline-block;
	width: 12em;
	text-align: right;
}</style>
</head>
<body>
<span id="count">0</span> €
<script type="text/javascript">
(function(){
	var start = new Date("2014/01/01 00:00:00");
	var end = new Date("2014/31/12 23:59:59");
	var endValue = 1e9;
	var node = document.getElementById("count").firstChild;
	window.setInterval(function(){
		var now = new Date();
		node.nodeValue = Math.round((now - start) / (end - start) * endValue).toString(10).replace(/(\d)(?=(?:.{3})+$)/g, "$1 ");
	}, 20);
}());
</script>
</body>
</html>
 
Zurück
Oben