垃圾分类作为一项重要的环保措施,已经在我国得到了广泛的推广和实施。为了帮助更多人了解垃圾分类知识,许多小程序应运而生。本文将为您详细解析一款垃圾分类小程序的题库代码,帮助您轻松上手。
一、小程序概述
垃圾分类小程序通常包含以下几个功能模块:
- 首页:展示垃圾分类知识、最新动态等。
- 题库:提供垃圾分类知识测试,检验用户掌握程度。
- 结果展示:根据用户答题情况,展示正确率和知识点分析。
- 学习中心:提供垃圾分类知识详解,方便用户深入学习。
二、题库代码解析
1. 题库数据结构
题库数据通常以JSON格式存储,以下是一个简单的题库数据示例:
[
{
"question": "以下哪个不属于可回收垃圾?",
"options": ["A. 玻璃瓶", "B. 电池", "C. 废纸", "D. 餐厨垃圾"],
"answer": "B"
},
{
"question": "废弃的塑料瓶属于哪种垃圾?",
"options": ["A. 可回收垃圾", "B. 有害垃圾", "C. 湿垃圾", "D. 干垃圾"],
"answer": "A"
}
]
2. 题库展示与答题
以下是一个简单的题库展示与答题的代码示例:
<!DOCTYPE html>
<html>
<head>
<title>垃圾分类题库</title>
</head>
<body>
<div id="question"></div>
<div id="options"></div>
<button onclick="checkAnswer()">提交答案</button>
<script>
let questions = [
{
"question": "以下哪个不属于可回收垃圾?",
"options": ["A. 玻璃瓶", "B. 电池", "C. 废纸", "D. 餐厨垃圾"],
"answer": "B"
},
{
"question": "废弃的塑料瓶属于哪种垃圾?",
"options": ["A. 可回收垃圾", "B. 有害垃圾", "C. 湿垃圾", "D. 干垃圾"],
"answer": "A"
}
];
let index = 0;
function showQuestion() {
let question = questions[index];
document.getElementById("question").innerText = question.question;
let options = question.options;
let optionsDiv = document.getElementById("options");
optionsDiv.innerHTML = "";
options.forEach(function(option) {
let input = document.createElement("input");
input.type = "radio";
input.name = "answer";
input.value = option.split(". ")[1];
let label = document.createElement("label");
label.innerText = option;
optionsDiv.appendChild(input);
optionsDiv.appendChild(label);
optionsDiv.appendChild(document.createElement("br"));
});
}
function checkAnswer() {
let selectedAnswer = document.querySelector('input[name="answer"]:checked').value;
if (selectedAnswer === questions[index].answer) {
alert("回答正确!");
} else {
alert("回答错误!");
}
index++;
if (index < questions.length) {
showQuestion();
} else {
alert("答题结束!");
}
}
showQuestion();
</script>
</body>
</html>
3. 结果展示
在用户提交答案后,可以根据用户的选择和题库中的答案进行比对,并展示正确率和知识点分析。以下是一个简单的结果展示代码示例:
<!DOCTYPE html>
<html>
<head>
<title>垃圾分类结果展示</title>
</head>
<body>
<div id="result"></div>
<script>
let questions = [
// ...(题库数据)
];
let userAnswers = [];
function checkAnswer() {
let selectedAnswer = document.querySelector('input[name="answer"]:checked').value;
userAnswers.push(selectedAnswer);
// ...(其他代码)
}
function showResult() {
let correctCount = 0;
questions.forEach(function(question, index) {
if (question.answer === userAnswers[index]) {
correctCount++;
}
});
let resultText = `您共答对${correctCount}题,正确率为${(correctCount / questions.length * 100).toFixed(2)}%。\n`;
resultText += `以下是您的答题情况:\n`;
questions.forEach(function(question, index) {
resultText += `问题:${question.question}\n`;
resultText += `您的答案:${userAnswers[index]}\n`;
resultText += `正确答案:${question.answer}\n`;
resultText += `-----------------------\n`;
});
document.getElementById("result").innerText = resultText;
}
// ...(其他代码)
</script>
</body>
</html>
三、总结
通过以上解析,相信您已经对垃圾分类小程序的题库代码有了初步的了解。在实际开发过程中,可以根据需求对代码进行优化和扩展,例如添加更多题型、增加难度等级等。希望本文能对您的开发工作有所帮助。
