2016-04-21 4 views
-1

Anfänger in der Programmierung, das ist meine Praxis ist der Code, kann ich nicht herausfinden, wie mein Konzept kodieren, und ich bin nicht sicher, ob ich for oder while für die folgende Anforderung verwenden muß:Javascript Schleife und letzte Warnung, FOR oder WHILE?

Nach 3 oder 5 Mal, wenn der Benutzer etwas nicht in die Eingabeaufforderungsbox eingibt, erscheint eine letzte Warnung, in der etwas wie "Keine weiteren Möglichkeiten!" und dreht dann die div Hintergrund graue Farbe.

Jede Hilfe ist willkommen, um mir zu helfen, zu verbessern.

JS

var mObjt = { 
    userInput: "", 

    setInput: function(){ 
     document.getElementById("div1").innerHTML = mObjt.userInput; 
    }, 

    conRequest: function(){ 
     if(mObjt.userInput != ""){ 
      mObjt.setInput(); 
     } else { 
      alert("There is no input!"); 
      mObjt.popRequest(); 
     } 
    }, 

    popRequest: function(){ 
     mObjt.userInput = prompt("Enter a word:"); 
     mObjt.conRequest(); 
    } 
} 

HTML:

<div id="div1" style="width:200px; height:30px; border:1px solid;"></div> 
<button type="button" onClick="mObjt.popRequest()">Add Property</button> 
+0

Die fetten Worte ist was ich will. – zankudo

+2

Sie können entweder for oder while-Schleife verwenden, je nach Ihren Vorlieben. Aber ich schlage vor, Sie zuerst lesen, wie Schleifen arbeiten, bevor Sie diese Art von Frage –

+0

sot irgendwelche Ideen, möchte ich die Eingabeaufforderung, um dem Benutzer 5 Möglichkeiten, und er scheitert dann eine Warnung und dann das DIV wird grau. – zankudo

Antwort

0

Sie sollten nicht jede Art von Schleife dafür. Behalte eine Zählervariable. Jedes Mal, wenn der Benutzer ausfällt, erhöhen Sie den Zähler. Wenn der Zähler auf 5 steht, tun Sie, was auch immer getan werden muss.

var failCount = 0; 

function handleInput() { 
    // This is a totally fake example just to show you want to do 
    if(input) { 
    // Input valid, yay 
    } else { 
    // Input invalid 
    failCount++; 
    if(failCount >= 5) { 
     // Disable your stuff 
     alert('Oh no, input failed: you have no more remaining attempts'); 
    } else { 
     alert('Oh no, input failed'); 
    } 
    } 
} 
+0

Sie gehen davon aus, dass die Eingabeaufforderung nur einmal pro Klick auf die Schaltfläche erscheinen sollte. Es klingt so, als ob die Eingabeaufforderung nach dem Klick bis zu fünf Mal fortgesetzt werden soll, wenn ein Wort nicht angegeben wird, was eine Schleife erfordern würde. –