clickイベントを複数回起こすと、動かなくなります。
やりたいこと;
AとB
CとD
EとF
をペアにする
↓
はじめに「??」の文字をクリックすると、A・C・Eのどれかが画面に出る
↓
その状態でもう一度文字(A or C or E)をクリックすると、それに対応した文字が画面に出る
(AならB・CならD・EならF というように)
今起きている問題;
初めの文字(A)が出たあと、もう一度クリックすると文字が消える
開発環境;
monaca
※consoleには、if else と一回ずつだけ表示されます。(それ以降はボタンを何度押しても反応しません)
html
1<!DOCTYPE HTML> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 6 <meta http-equiv="Content-Security-Policy" content="default-src * data: gap: content: https://ssl.gstatic.com; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> 7 <script src="components/loader.js"></script> 8 <link rel="stylesheet" href="components/loader.css"> 9 <link rel="stylesheet" href="css/style.css"> 10</head> 11<body> 12 <div id="question">??</div> 13 <script> 14 var t=0 15 var S="A,B,C,D,E,F" 16 var comma = ","; 17 var list=S.split(comma) 18 19 function change(){ 20 if (t==0){ 21 var length=list.length 22 var num = Math.floor( Math.random() * (length/2))+1; 23 this.textContent = list[num*2-2]; 24 t=1 25 console.log("if") 26 }else{ 27 this.textContent = list[num*2-1]; 28 t=0 29 console.log("else") 30 } 31 } 32 33 var Q=document.getElementById('question') 34 Q.addEventListener('click', change) 35 </script> 36</body> 37</html> 38
回答お待ちしております
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/09 17:18
2017/11/09 17:31
2017/11/09 21:00