Kurze Frage

  • Themenstarter Themenstarter Comenius
  • Beginndatum Beginndatum
C

Comenius

Hallo,

ich möchte gerne bestimmte Sachen in "Echtzeit" ausgeben lassen.
Beispielsweise bei jedem Durchlauf einer Schleife, einmal den neuen Wert ausgeben..

Mit einem Counter habe ich das auch schon ansatzweise hinbekommen:

Code:
function time() {
i++;
document.Timetest.time.value=i+" sek.";
}
var i=0;
setInterval('time()',1000);

Leider funktioniert das ja nur mit time().

Wie könnte ich es nun machen, dass die Werte eines Arrays auch - so wie der Counter - in ein Input-Feld geschrieben werden ?

Mit einer Schleife kann ich mir immer nur den letzten Wert ausgeben lassen - Wenn sie also fertiggeeiert ist :)


Für Ansätze oder Links, wäre ich wie immer dankbar.

Gruss
Commi

PS: Ja ja, jetzt lerne ich tatsächlich nochmal javascript... Wer hätte das gedacht ;)
 
Meinst du so?
Code:
<input id="time" type="text" size="20">
<script>
function time() {
i++;
document.all.time.value=i+" sek.";
}
var i=0;
setInterval('time()',1000);
</script>

Oder habe ich deine Frage falsch verstanden..?
 
Hi,

nein, ich glaube du hast mich falsch verstanden.

Angenommen ich habe ein Array: 0 = abc, 1 = def, 2 = ghi ....

Wenn ich das in eine Schleife packe und ausgeben lassen will, wird logischerweise nur der letzte Wert angezeigt.

Und zwar soll bei jedem Schleifendurchlauf der ausgegebene Wert - bsp. in ein Input Feld - aktualisiert werden.

Ich habe das vorhin "Echtzeit" genannt, keine Ahnung wie man das sonst nennen könnte.

Vielleicht hast du mein Anliegen jetzt verstanden? :)

Ein Beispiel habe ich noch: Der Windows Installer.... Da werden auch immer die verschiedenen Dateien angezeigt, die aktuell Installiert werden. Da steht ja auch nicht nur der letzte Eintrag da ;)


Gruss
Commi
 
Zuletzt bearbeitet von einem Moderator:
Ah okey jetzt verstehe ich was du meintest, davon hab ich wiederrum keine Ahnung :|
Vielleicht kann dir jemand anderes Helfen oder du schaust ein wenig bei Google :)
 
Auf ersteres warte ich gerne, zweiteres mache ich schon :)

Danke dir trotzdem. Ich dachte dafür gebe es evtl. irgendwas fertiges in Javascript...
Anscheinend nicht :rolleyes:
 
Hi,

erstelle auf globaler Ebene eine Array- und eine Zählvariable. Die Zählvariable wird bei jedem Durchlauf
der Funktion um Eins erhöht - solage, bis sie grösser als die Anzahl an Arrayelementen ist. Wurde die
Grenze erreicht, wird sie wieder auf Null zurückgesetzt.

Die Funktion ruft sich am Ende periodisch selbst wieder auf. D.h. alle 2 Sekunden wird ein neuer Wert
angezeigt.
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
  <!--
var arrValues = new Array("abc", "def", "ghi");
var intZaehler = 0;
var hTimer = null;

function time(){
  document.getElementById("txtID").value = arrValues[intZaehler];

  // Zählvarialbe inkrementieren
  intZaehler++;
  if(intZaehler >= arrValues.length) intZaehler = 0;

  // Funktion nach 2 Sekunden erneut aufrufen
  hTimer = window.setTimeout("time()", 2000);
}

window.onload = function(){
  time();
}
 //-->
</script>
</head>
<body>
<div>
  <button onclick="window.clearTimeout(hTimer);">Timer stoppen</button>
  <input type="text" id="txtID" name="txtName" value="" />
</div>
</body>
</html>
Vielleicht hilft Dir das weiter.

Ciao
Quaese
 
Wow, danke dir.
Manchmal frage ich mich, ob du für jedes nur erdenkliche Thema ein kleines Script hast...
Es sind ja doch ein paar Zeilen und jedesmal die komplette Lösung vorkauen.... Respekt.

Komisch, aber seit ich angefangen habe mich mit javascript etwas genauer zu befassen, machen diese "Zeilen" auch Sinn :)

Frage beantwortet, Verfasser mehr als glücklich, danke euch und schönen Tag noch ;)

Gruss
Commi
 

Neue Beiträge

Zurück