このスクリプトは私に問題を与えています。何度も書き直しましたが、何かが抜けています。
「質問」配列は私のオブジェクトを参照しています。これらのオブジェクトは異なる質問であり、'a' が常に正しい答えです。
この時点まで、スクリプトは正常に動作します。アイデアは、「n」を 0 からインクリメントして配列をスクロールし、正しい答えがクリックされたときに次の質問を提供することです。'x' は常に正解です (常に 'a' を保持します)。
したがって、正しい推測で「n」をインクリメントできます。ただし、関数「a()」を再度呼び出すと (アラート「hi」部分の後)、問題が発生します。n をインクリメントし、a() を呼び出して、次の質問を取得したいと考えています。次に、正しい推測 (x) をランダムな場所 (つまり、位置 0、1、または 2) に配置します。
助けてくれてありがとう。
var questions = [q0,q1,q2,q3,q4,q5,q6,q7];
var n = 0;
function a(){
var y;
var z;
var x = Math.floor((Math.random() * 3))
if(x == 0){y = 1; z = 2}else if(x == 1){y = 0; z = 2}else{y = 0; z = 1}
$("#question_holder").text(questions[n].q);
$(".answer_holder").eq(x).text(questions[n].a);
$(".answer_holder").eq(y).text(questions[n].b);
$(".answer_holder").eq(z).text(questions[n].c);
$(document).ready(function(){
$(".answer_holder").eq(x).click(function(){
alert("hi");
n++;
a();
/*this area needs to get the next question by incrementing
n, then generate a different value to x, to place it
in a different position. which it does. however,
in subsequent questions, you can click the wrong answer as if
it's correct, ie not 'a' or 'x'.*/
});
});
};