我如何随机显示我的问题,所以它现在总是一样的? (JavaScript的)

时间:2015-09-27 22:42:12

标签: javascript html random

<script type="text/javascript">

var questions = [
    ['http://i.imgur.com/k0fBtYP.png','0'],
    ['http://i.imgur.com/1PwDTVY.png','1'],
    ['http://i.imgur.com/QKE9UFA.png','2'],
    ['http://i.imgur.com/XEGhtgB.png','3'],
    ['http://i.imgur.com/QhnCkAp.png','4'],
    ['http://i.imgur.com/JoL8tco.png','5'],
    ['http://i.imgur.com/tcZNls4.png','6'],
    ['http://i.imgur.com/V9DQI0p.png','7'],
    ['http://i.imgur.com/39ePipM.png','8'],
    ['http://i.imgur.com/16yFeMy.png','9'],
    ['http://i.imgur.com/UUo2yNc.png','10'],
    ['http://i.imgur.com/5sza6Wm.png','11'],
    ['http://i.imgur.com/ygPZBdY.png','12'],
    ['http://i.imgur.com/SwJYBRR.png','13'],
    ['http://i.imgur.com/wNdpJBX.png','14'],
    ['http://i.imgur.com/wUS7pDs.png','15'],
    ['http://i.imgur.com/OEI6ZYX.png','16']
];
var qNo = 0;
var correct = 0;
var cnt = 0;

function NextQuestion(response) {
  if ((qNo < questions.length) && (response == questions[qNo][1])) { correct++; }
  document.getElementById('score').innerHTML 
    = 'Your score is '+correct+'/'+(cnt+1);
  qNo++;
  if (qNo < questions.length) { document.getElementById('Pic').src = questions[qNo][0]; cnt++; }
                     else { alert('Quiz is done'); }
}
onload = function() {
 document.getElementById('Pic').src = questions[0][0];
}

</script>

好吧基本上我有17个问题和17个答案,使用数字0-16列出,我想要做的是随机化显示图片的顺序,这样你就不能找到一个模式而不是回答它对了,我也想不出这个,我想这样做,以便在每个问题得到答案后,绿色正确或红色不正确显示取决于如果你有前一个问题,任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

抱歉,目前我不得不赶时间,所以我无法给你一个代码,但我可以给你你需要遵循的步骤。

  1. 随机播放阵列How to randomize (shuffle) a JavaScript array
  2. 编写一个循环遍历数组的简单循环

答案 1 :(得分:0)

看看this。获得0到16之间的值后,将其存储为i,然后显示与i对应的问题。得到答案后,通过questions.splice(i, i+1);answers.splice(i, i+1);从数组中删除该问题和答案。现在对每个问题重复此操作,最终问题和答案数组的长度将达到0.这意味着用户回答了所有问题。