JavaScript Mit schleife alle zwei Sekunden aufrufen

Alexis29

Ensign
Registriert
Feb. 2015
Beiträge
149
Hallo liebe Computerbase Community,
Also ich habe ein Programm geschrieben. Dass es mit einer For schleife die Nummer ausgibt addiert , ich möchte dass alle zwei Sekunden eine Nummer ausgeben wird.
Mein Problem ist das es die ganze Funktion alle zwei Sekunden aufruft.
Mein Code:
Javascript:
<!Doctype! html>
<html lang="de">
<head>
<meta charset="utf-8">
<title> Javascript </title>

<script>
'use strict';
var zahl,
    text,
     myw;

confirm('sind sie bereit?');

function Nummer(){
for (var i = 1; i<= 10; i++) {
 zahl = i + i;
 text = zahl +' = ' + i + ' + '+ i + '<br>';
 
document.write(text);
  }
  myw = setTimeout(Nummer, 3000);
 }
 
Nummer();
 
</script>
<noscript>
Sie haben Javascript deaktiviert
</noscript>
</head>
<body>
<p> Mit javaScript anfangen zu programmieren </p>
</body>
</html>

Habt ihr velleicht einen Ansatz wo der Fehler/Das Problem liegen könnte?

Danke sehr im voraus für das Lesen und für die Antworten
 
Dann musst du mit setInterval() die Funktion auch so aufrufen. Das setTimeout in einer Schleife funktioniert so nicht.
 
Danke für eure Antworten
Ich habe es auch mit der SetInterval() funktionen ausprobiert, das Problem besteht weitherin dass es die Ganze Funktion alle zwei Sekunden aufruft und nicht nur die Nummer . Gibt es eine bestimme Position wo ich die SetInterval() aufrufen setzen muss, damit es nur die einzelne Nummer alle 3 Sekunden ausgibt?
Code:
<!Doctype! html>
<html lang="de">
<head>
<meta charset="utf-8">
<title> Javascript </title>

<script>
'use strict';
var zahl,
    text,
     myw;

confirm('sind sie bereit?');

function Nummer(){
for (var i = 1; i<= 10; i++) {
 zahl = i + i;
 text = zahl +' = ' + i + ' + '+ i + '<br>';
 
document.write(text);

  }
 myw = setInterval(Nummer , 3000);
 }
 
Nummer();
 
</script>
<noscript>
Sie haben Javascript deaktiviert
</noscript>
</head>
<body>
<p> Mit javaScript anfangen </p>
</body>
</html>

Was mache ich falsch?I ch habe schon ein paar Stunden gegoogelt um eine Lösung zu finden.
Aber ich finde meinen Fehler nicht.
Wenn jemand einen Ansatz hat bitte sehr.
Danke im vorraus.
 
Wenn ich das setInterval außerhalb der Funtion defniere kommt die Schleife nur einmal, und es tut sich nichts alle drei Sekunden.
Wie schaffe ich es dass die Nummer einzeln ausgibt alle drei Sekunden, und nicht die ganze Funktion?


ps: Ich lerne gerade Javascript ich bin ein Anfänger
 
Javascript:
<!Doctype! html>
<html lang="de">
    <head>
        <meta charset="utf-8">
        <title> Javascript </title>
    </head>
    <body>
        <p> Mit javaScript anfangen </p>
    </body>
    <script>
        var i=0;
        var interval = 3000;
        var timer = setInterval(number, interval);
        function number() {
            console.log(i);
            i++;
        }
    </script>
</html>

Ich hab deine Ansprüche auf nen simples Beispiel runter gebrochen. Das spuckt jetzt alle 3 Sekunden die Variable i in der Konsole aus und zählt hoch.

Probiers aus und pass den Code dann an deine Bedürfnisse an.

Und Bitte! schreib alles auf Englisch, vor allem den Code ;)
 
Danke sehr für deine Antwort cppnap. Ja genau so etwas wollte ich, ich habe es auch angepasst an meine Bedurfnisse. Manchmal denke ich zu kompiliziert nach obwohl es einfach ist.
Ok das werde ich machen mit dem Englisch! Danke
 
Zurück
Oben