seber-rider: Countdown

Beitrag lesen

Ich habe versucht dem Fehler auf die Schliche zu kommen, leider ohne Erfolg. Es wäre sehr toll, wenn jemand ein Vorschlag dazu hätte.

Servus,

habe gerade zufällig selber so einen Counter erstellt, Du kannst ihn gerne modifizieren und benutzen, wenn Du magst. Wenn Deine Website auf einer Scriptsprache wie PHP basiert, kannst Du beim Aufruf oServerLoadPageDate = new Date($sNow * 1000) das "$sNow" von der PHP-Funktion time() füllen lassen, dann Funktioniert der Counter so gut wie völlig unabhängig vom Client. Will heißen, egal, welches Datum beim Client eingestellt ist, der Counter nimmt die Zeit des Servers. Ohne eine Scriptsprache im Hintergrund musst Du die Anweisung "$sNow * 1000) aus der Klammer entfernen.

  
<script type="text/javascript">  
	<!--  
  
	oServerLoadPageDate = new Date($sNow * 1000);  
	oReleaseDate = new Date('January 7, 2010 20:00');  
	iServerSecondsLeft = oReleaseDate.getTime() - oServerLoadPageDate.getTime();  
	oClientNowDate = oServerLoadPageDate;  
  
	function WriteDate() {  
		oClientNowDate = new Date(oClientNowDate.getTime() + 1000);  
		iDifferenceToReleaseDate = iServerSecondsLeft - (oClientNowDate.getTime() - oServerLoadPageDate.getTime()) - (oReleaseDate.getTimezoneOffset() * 60 * 1000);  
		iSecondsLeft = Math.round(iDifferenceToReleaseDate / 1000);  
		iSeconds = iSecondsLeft % 60;  
		sSecondsLabel = (iSeconds == 1) ? 'Sekunde' : 'Sekunden';  
		iMinutes = Math.floor(iSecondsLeft / 60) % 60;  
		sMinutesLabel = (iMinutes == 1) ? 'Minute' : 'Minuten';  
		iHours = Math.floor(iSecondsLeft / 3600) % 24;  
		sHoursLabel = (iHours == 1) ? 'Stunde' : 'Stunden';  
		iDays = Math.floor(iSecondsLeft / 3600 / 24);  
		sDaysLabel = (iDays == 1) ? 'Tag' : 'Tage';  
  
		window.document.getElementById('ReleaseDate').innerHTML = sReleaseDateBoxContent + '<p>' + iDays + ' ' + sDaysLabel + ', ' + iHours + ' ' + sHoursLabel + ', ' + iMinutes + ' ' + sMinutesLabel + ' und ' + iSeconds + ' ' + sSecondsLabel + ' verbleibend</p>';  
	}  
  
	window.setInterval('WriteDate()', 1000);  
	-->  
</script>