countdown

Oli-bt

Mitglied
hi zusammen!

ich suche einen einfachen countdown der 5 sekunden nach unten zählt....
kann mir da jemand weiterhelfen?

danke,
gruß, Oli
 
Hi,

so etwas?
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta name="author" content="Quaese" />
<script type="text/javascript">
  <!--
// Anzahl der Sekunden
var intSekunden = 5;

function countdown(){
  document.getElementById("timerID").innerHTML = intSekunden;
  intSekunden--;
  if(intSekunden >= 0)
  window.setTimeout("countdown()", 1000);
}
  -->
</script>
</head>
<body onload="countdown();">
<div id="timerID"></div>
</body>
</html>
Ciao
Quaese
 
Hallo,

bei mir funktionierte diese einfache Möglichkeit nicht (ich brauche selbiges, um einen Link später anzuzeigen), weder im IE 6... noch im Firefox.
Ich hab dann mal das Script aus dem Head rausgenommen und zwischen <head> und <body> platziert, jetzt gehts.

Danke!

Kai

PS: Nebenbei gefragt: Bekomme ich die Zeilenumbrüche aus dem "HTML-COde" gequoteten Feld irgedwie mit rauskopiert?
 
Hi,

also bei mir funktioniert das Script in obiger Version in allen gängigen Browsern.

Vielleicht hast du nur vergessen, das Script an irgendeiner Stelle zu starten - zum Beispiel im
onload-Event des BODYs.

Ich kann mir nicht vorstellen, dass es valide ist, einen SCRIPT-Tag zwischen HEAD und BODY
zu platzieren.

Ciao
Quaese
 
*kopfkratz*
Das Script wird gestartet, weil der IE meckert.

Wegen der Validität:

Beachten Sie:

Es gibt keine festen Vorschriften dafür, an welcher Stelle einer HTML-Datei ein JavaScript-Bereich definiert werden muss. Es ist unter JavaScript-Programmierern zur Gewohnheit geworden, einen solchen Bereich im Kopf der HTML-Datei, also zwischen <head> und </head> zu definieren. Dadurch ist am ehesten sichergestellt, dass der Code vom WWW-Browser bereits eingelesen ist und zur Verfügung steht, wenn er ausgeführt werden soll.

JavaScript-Code kann automatisch beim Einlesen der HTML-Datei ausgeführt werden. Das ist dann der Fall, wenn JavaScript-Befehle in einem JavaScript-Bereich außerhalb jeder selbst definierten Funktion stehen, so wie im obigen Beispiel. In solchen Fällen ist es manchmal auch erforderlich, den Script-Bereich innerhalb des HTML-Dateikörpers, also innerhalb von <body>...</body>, zu notieren. Zum Beispiel, wenn Sie am Ende der Datei mit JavaScript dynamisch Datum und Uhrzeit der letzten Änderung an der Datei schreiben wollen.

aus SelfHTML 8

Also sollte es eigentlich nicht daran liegen....
Naja, mal schaun ob ich das mit dem visible hinbekomme.
Ich weiß nämlich nicht so recht, wie ich das bewerkstellige, dass eine Funktion nach x sekunden ausgeführt wird... (Help ? ;-))

Gruß

Kai
 
Beim Code von Quaese fehlen zwei Slashes vor dem schliessenden Kommentar(das dürfte den Fehler im IE allerdings nicht verursachen... dem ist das Wurscht-->anderen Browsern nicht)

Wahrscheinlich ist das Problem, dass du die Zeilenumbrüche, welche bei Quaese's Code verlorengegangen sind, falsch eingefügt hast.

Ich poste das noch mal... bei mir bleiben die Zeilenumbrüche hoffentlich beim Kopieren erhalten :-)

Code:
<script type="text/javascript">  
<!-- 
// Anzahl der Sekunden 
var intSekunden = 5; 
function countdown()
{ 
document.getElementById("timerID").innerHTML = intSekunden; intSekunden--; 
if(intSekunden >= 0) window.setTimeout("countdown()", 1000); 
} 
//--> 
</script>

BTW: @Quaese .... was für ein OS/Editor benutzt du eigentlich(wegen der Zeilenumbrüche)
 
Hi,

wo du den Script-Bereich letztlich platzierst, ist mir eigentlich egal. Ich wollte dich nur darauf
hinweisen - ausserdem steht sogar in deiner Quelle:
"... also innerhalb von <body>...</body> ..."

Weiterhin steht in der HTML-Element-Referenz zu den Elternelementen von SCRIPT (ebenfalls in SelftHTML 8):
Darf innerhalb der folgenden HTML-Elemente vorkommen:
[Block-Elemente] | [Inline-Elemente] | head | body
(body nur bei Seite HTML transitional)
Wobei bei den erlaubten Elternelementen (Blockelemente, Inlineelemente) nirgends HTML
als Element vertreten ist.

Mit setTimeout kannst du eine Funktion zeitgesteuert aufrufen:
Code:
window.setTimeout("myFunction()", 3000)
Ruft die Funktion myFunction nach 3000 Millisekunden auf. Mehr dazu bei SelfHTML.

@Sven
Win XP - aber ich konvertiere meist noch Sonderzeichen in HTML - damit die Formatierung
erhalten bleibt. Vielleicht liegt es daran?!

Ciao
Quaese
 
Zuletzt bearbeitet:
Beim Stöbern bin ich auf diesen Thread gestoßen und hab ne Frage:

Ihr habt hier über Validität gesprochen.. ist das mit der Validität nicht einfach nur große Krümelkackerei? Ich meine speziell diese Zeile:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">

Wenn man sie beim Coden weglässt, interpretieren die Browser die Seite genauso als wäre sie vorhanden (wenn man den Code entsprechend anpasst)
 

Neue Beiträge

Zurück