前提・実現したいこと
promptを用いたときの表示と条件分岐が正しく動くようにしたいです。
alertの「答えが違います!」が最初に表示されOKをクリックすると、先に表示したい「888÷8は何ですか?」が表示されます。
また、「888÷8は何ですか?」が表示されたあと、「111」を入力してOKをクリックしてもjumpPageが動きません。
基本的なことで恐縮ですがご教示ください。
該当のソースコード
html
1function Alert(){ 2 var sign = window.prompt("888÷8は何ですか?",""); 3 if (sign == "111"){jumpPage();} 4 else {alert("答えが違います!");} 5} 6function jumpPage(){ 7 location.href="../index.html"; 8} 9
情報の追加依頼を受けての追記
ご指摘をもとに先の質問に該当する部分を再入力したところ、promptによるダイアログ表示の前にjumpPage_pが発生し、index.htmlの表示と同時にpromptのダイアログが表示されるという状況になっています。
以下、追記のソースコードです。
(追記の仕方をはじめとして、おかしな部分もあると思いますが、ご容赦ください)
該当のソースコード
html
1<!DOCTYPE html> 2 <html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5<title>e-learning</title> 6<link rel="stylesheet" href="ele.css"> 7<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> 8</head> 9 10<body onload="sentaku();"> 11 <audio id="sentaku" preload="auto"> 12 <source src="sound/girl1-sentakushite1.mp3" controls> 13 </audio> 14<audio id="tenkeySound0" preload="auto"> 15 <source src="sound/decision1_2.mp3" controls> 16 </audio> 17 18<h1 class="title1" id="title">わわわ<br>わわわわわわ</h1> 19<div class="W1" ontouchstart=""> 20 21<button class="button1" ontouchstart="tenkeySound0();"> 22<i class="material-icons">school</i><br>あいあい</button> 23 24<button class="button2" ontouchstart="tenkeySound1();"> 25<i class="material-icons">account_circle</i><br>かいかい</button> 26 27<button class="button3" ontouchstart="tenkeySound2();"> 28<i class="material-icons">attach_file</i><br>さいさい</button> 29 30</div> 31<script> 32 function sentaku(){ 33 document.getElementById("sentaku").play(); 34 var sentaku = document.getElementById("sentaku"); 35 sentaku.volume = 0.8; 36 sentaku.currentTime = 0; 37 sentaku.playbackRate = 1.0; 38} 39function tenkeySound0(){ 40 document.getElementById("tenkeySound0").play(); 41 var tenkeySound0 = document.getElementById("tenkeySound0"); 42 tenkeySound0.volume = 0.1; 43 tenkeySound0.currentTime = 0; 44 tenkeySound0.playbackRate = 1.2; 45 setTimeout("jumpPage_y();",1000); 46} 47function tenkeySound1(){ 48 document.getElementById("tenkeySound0").play(); 49 var tenkeySound0 = document.getElementById("tenkeySound0"); 50 tenkeySound0.volume = 0.1; 51 tenkeySound0.currentTime = 0; 52 tenkeySound0.playbackRate = 1.2; 53 Alert(); 54} 55function tenkeySound2(){ 56 document.getElementById("tenkeySound0").play(); 57 var tenkeySound0 = document.getElementById("tenkeySound0"); 58 tenkeySound0.volume = 0.1; 59 tenkeySound0.currentTime = 0; 60 tenkeySound0.playbackRate = 1.2; 61 setTimeout("jumpPage_g();",1000); 62} 63function jumpPage_y(){ 64 location.href='menu.html'; 65} 66function Alert(){ 67 var sign=window.prompt("888÷8は何ですか?",""); 68 if(sign=="111"){jumpPage_p();} 69 else{alert("答えが違います!");} 70} 71function jumpPage_p(){ 72 location.href="../index.html"; 73} 74function jumpPage_g(){ 75 location.href='stamp.html'; 76} 77</script> 78 79</body> 80</html>
回答4件
あなたの回答
tips
プレビュー