Javascript + PHP - Countdown

Leider hilft mir das null weiter...

ich arbeite nicht mit Ajax...

ich such doch nur nen einfachen CountDown ....>.<

Leider habe ich wenig erfahrungen in JS, kann nur den alert() befehl^^
 
aso, sorry...
Dann poste ich halt noch den ajax code dazu ;)

Code:
  <script type="text/javascript">
  <!--
	var request = false;
function setRequest () {
	// Request senden
		// Request erzeugen
		if (window.XMLHttpRequest) {
			request = new XMLHttpRequest(); // Mozilla, Safari, Opera
		} else if (window.ActiveXObject) {
			try {
				request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
			} catch (e) {
				try {
					request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
				} catch (e) {}
			}
		}

		// überprüfen, ob Request erzeugt wurde
		if (!request) {
			alert("Kann keine XMLHTTP-Instanz erzeugen");
			return false;
		} else {
			var url = "time.php";
			// Request öffnen
			request.open('post', url, true);
			// Request senden
			request.send(null);
			// Request auswerten
			request.onreadystatechange = interpretRequest;
		}
}
function interpretRequest () {
	// Request auswerten
		switch (request.readyState) {
			// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
			case 4:
				if (request.status != 200) {
document.getElementById('time').src = "time.php";
				} else {
					var content = request.responseText;
					// den Inhalt des Requests in das <div> schreiben
					document.getElementById('time').innerHTML = content;
				}
				break;
			default:
				break;
		}
}
setInterval("setRequest()",1000);
  //-->
  </script>
<div id="time"></div>
Das müsste klappen ;)
Ajax ist nur dazu da das man nicht immer reloaden muss um die neue Zeit zu sehen :D
PS: Es wird alle 1000ms = 1 Sekunde neu geladen ;)
PPS: Falls du nur ein JavaScript suchst, ohne PHP und so... habe ich hier ein Script(nicht getestet):
HTML:
<html>
<head>
<script language="JavaScript">
var ison = false;
function nill(timevar) {
	if (timevar < 10) timevar = "0" + timevar;
	return timevar;
}
function start_ticker() {
	var regzeit = /^\d{0,2}$/;
	var mint = false;
	var sect = false;
	(regzeit.exec(document.theticker.esec.value)) ? mint = true : void(0);
	(regzeit.exec(document.theticker.emin.value)) ? sect = true : void(0);
	(mint && sect) ? go_ticker() : document.theticker.reset();
}
function go_ticker() {
	var min = document.theticker.emin.value;
	var sec = document.theticker.esec.value;
	if (parseInt(min) > 0 || parseInt(sec) > 0) {
		if (parseInt(min) < 61 || parseInt(sec) < 100) {
			(parseInt(min) > 0) ? tmin = parseInt(min) : tmin = 0;					
			(parseInt(sec) > 0) ? tsec = parseInt(sec) : tsec = 0;
			timeticker = tmin * 60 + tsec;
			ison = true;
			printit_ticker();			
		} else {
		}
	}
	
}
function printit_ticker() {
	document.theticker.mins.value = nill(Math.floor(timeticker / 60));
	document.theticker.secs.value = nill(timeticker % 60);
	if (timeticker > 0) { 
		zeitgeber = setTimeout("printit_ticker()", 1000);
	} else {
		ison = false;
	}
	timeticker --;
}
</script>
</head>
<body>
<form name="theticker">
<input type="hidden" name="emin" value="1"> <!-- Minuten=1 -->
<input type="hidden" name="esec" value="15"> <!-- Sekunden=15 -->
<input type="text" name="mins" size="2" value="00" class="disabled" disabled> Minutes
<input type="text" name="secs" size="2" value="00" class="disabled" disabled> Seconds
<input type="button" value="Ready?" onclick="(ison == false) ? start_ticker() : void(0)">
</form>
</body>
</html>
Hoffe es hilft dir jetzt,
Lg
Daniel0108
 
Zuletzt bearbeitet:
Das JS sieht gut aus ^^

Da habe ich trozdem nur ein Prob.
Meine zeit setz sich so zusammen:
Aus der Datenbank zB.: 7 std. -> wird als time gesichert => 25200 Sekunden
so, das muss also ablaufen^^
natürlich als ausgabe: Restzeit: 7 Stunden, 0 Minuten und 0 Sekunden
und wenn das fertig ist, sollte sich die seite neu laden ^^
 
Neu laden?
Das ist einfach...
Einfach dort wo der Timer zu ende ist das JavaScript einfügen:
Code:
location.reload();
LG
Daniel0108
 
Zurück