2017-03-14 8 views
0

Ich bin völlig neu in Javascript. Ich habe erst diese Woche meinen Kurs begonnen. Ich weiß sogar nicht, ob wir hier HTML-Code posten oder nicht. Ich habe eine Frage über Verzögerung Prompt mit if Statment. Ich habe eine Menge Dinge ausprobiert, die hier gezeigt werden, über Warnungen und Bestätigung, aber sie werden nicht auf Prompt angewendet. Hier ist mein Code (der sehr primitiv ist), also bitte zeigen Sie mir, wie zu verzögern Prompt, mit einem if Statment.So kommen Sie mit Eingabeaufforderung mit SetTimeout

Was ich tun möchte, ist: Ich möchte, dass der Benutzer die Auswahl 1 für 10 Sekunden liest, bevor die Eingabeaufforderung angezeigt wird, dann gibt Ihnen die Eingabeaufforderung eine Auswahl. Je nach Auswahl ändern sich die Ergebnisse.

<meta chartset = "utf-8"> 
<h1> Car </h1> 
In 10 seconds, you can choose your destination BY NUMBER 
<br> 
Higiénopolis : 1 
<br> 
Santa Cécilia : 2 
<br> 
Vila Madalena : 3 
<br> 

<script> 

var hi = 1 
var sc = 2 
var vm = 3 
var dest=prompt("Choose your destination :"); 

if(dest==1){ 
    document.write("<br>Your position is Caelum.") 
    document.write("<br>Your destination is Higiénopolis.") 
    document.write("<br> A distancia é : 7 km") 
    document.write("<br> O tempo para chegar é : 28 min") 
} 
if(dest==2){ 
    document.write("<br>Your position is Caelum.") 
    document.write("<br>Your destination is Santa Cécilia.") 
    document.write("<br> A distancia é : 9,4 km") 
    document.write("<br> O tempo para chegar é : 31 min") 
} 
if(dest==3){ 
    document.write("<br>Your position is Caelum.") 
    document.write("<br>Your destination is Vila Madalena.") 
    document.write("<br> A distancia é : 10 km") 
    document.write("<br> O tempo para chegar é : 35") 
} 
</script> 
+0

'setTimeout (function() {/ * Code hier * /}, 10000)'. Beachten Sie, dass 'document.write()' im Allgemeinen keine gute Idee ist und definitiv keine gute Idee ist, nachdem die Seite bereits fertig geladen wurde (was der Fall wäre, wenn Sie ein Timeout von 10 Sekunden verwenden). – nnnnnn

+0

Sie sagten, dass "document.write() ist im Allgemeinen keine gute Idee" Gibt es eine andere Alternative? Bis jetzt habe ich gerade über "document.write()" erfahren, das den Inhalt auf der nächsten Seite nach einer Aufforderung zeigt. Und "exibe()" zeigt den Inhalt auf derselben Seite an. Ich hoffe, ich habe es gut erklärt .... – oproject

Antwort

0

können Sie setTimeout verwenden

var hi = 1 
var sc = 2 
var vm = 3 
var dest = ''; 

setTimeout(function() { 
    dest = prompt("Choose your destination :"); 
    if (dest == 1) { 
    document.write("<br>Your position is Caelum.") 
    document.write("<br>Your destination is Higiénopolis.") 
    document.write("<br> A distancia é : 7 km") 
    document.write("<br> O tempo para chegar é : 28 min") 
    } 
    if (dest == 2) { 
    document.write("<br>Your position is Caelum.") 
    document.write("<br>Your destination is Santa Cécilia.") 
    document.write("<br> A distancia é : 9,4 km") 
    document.write("<br> O tempo para chegar é : 31 min") 
    } 
    if (dest == 3) { 
    document.write("<br>Your position is Caelum.") 
    document.write("<br>Your destination is Vila Madalena.") 
    document.write("<br> A distancia é : 10 km") 
    document.write("<br> O tempo para chegar é : 35") 
    } 

}, 2000) 

Hinweis: Die bedingten Anweisungen sind auch innerhalb SetTimeout, weil es eine asynchrone Funktion ist.

Wenn Sie nach draußen halten wollen, setzen Sie es in einer anderen Funktion und aufrufen, die Funktion

DEMO

+0

Danke "nnnnnn" Es funktionierte einfach gut und glatt. Wie sie hier in Brasilien sagen, Beleza. – oproject

Verwandte Themen