我正在尝试使用JavaScript,jQuery,html和CSS构建测验应用程序。我正在尝试获取问题并回答选择要加载的内容,并且遇到了麻烦。
谁能帮助我编辑我的JS文件https://github.com/em-ilylewis/Quiz-App/blob/master/store.js中的“ generateQuestion”函数。
以下是html:https://github.com/em-ilylewis/Quiz-App/blob/master/question-page.html。
答案 0 :(得分:-1)
在generateQuestion
函数上方的注释中逐行浏览应有助于将其分解:
1。从商店的questionNumber索引处获取对象
由于 STORE 是一个数组,因此您可以像这样访问该数组中的各个项目:
// This will get you the FIRST item in your STORE array.
STORE[0]
由于我们已经知道questionNumber
变量已设置为0
(在第77行),因此您可以这样做:
// This will get you the FIRST item in your STORE array.
STORE[questionNumber]
2。使用jQuery选择带有questionBox类的元素
// This is correctly targeting the questionBox element
$(".questionBox")
3。使用上一步中jQuery元素上的html函数,用来自商店的对象的问题字符串填充该元素 -现在,您可以使用对象点表示法通过其键属性访问对象的值,如下所示:
// This will get you the first item's "question" in your STORE's array (assuming it is still 0).
$(".questionBox").html(STORE[questionNumber].question);
不幸的是,这只能解决您在STORE数组中获取 first 项的问题。因此,您可能希望通过使用generateQuestion
函数中的 arguments 来传递STORE数组的 index ,如下所示:
// "index" is an argument of generateQuestion.
function generateQuestion(index) {
$(".questionBox").html(STORE[index].question);
$(".answerChoiceBox").html(STORE[index].choices);
}
generateQuestion(0); // Passing in 0 as a parameter of generateQuestion will get you the FIRST question in your array.
generateQuestion(1); // ...SECOND question
generateQuestion(2); // ...THIRD question