Onion / index.html
Lashtw's picture
Update index.html
c75a099 verified
<!DOCTYPE html>
<html lang="zh-TW">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>洋蔥式穿搭測驗</title>
<script src="https://cdn.tailwindcss.com"></script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;700&display=swap');
body {
font-family: 'Noto Sans TC', sans-serif;
background-color: #f0f4f8;
}
</style>
</head>
<body class="bg-gray-100 min-h-screen flex items-center justify-center p-4">
<div id="quiz-container" class="bg-white rounded-xl shadow-lg p-8 w-full max-w-lg transition-all duration-300 transform">
<h1 class="text-3xl font-bold text-center text-gray-800 mb-6">洋蔥式穿搭測驗</h1>
<div id="quiz-question" class="transition-opacity duration-500 ease-in-out">
<h2 id="question-text" class="text-xl font-semibold text-gray-700 mb-4"></h2>
<div id="answer-options" class="space-y-4"></div>
</div>
<div id="quiz-result" class="hidden text-center transition-opacity duration-500 ease-in-out">
<h2 class="text-2xl font-bold text-green-600 mb-4">測驗完成!</h2>
<p class="text-xl text-gray-700">你的分數是:<span id="score" class="font-bold text-3xl text-blue-600"></span> / <span id="total-questions" class="font-bold text-3xl text-blue-600"></span></p>
<p id="result-message" class="mt-4 text-gray-600"></p>
<button id="restart-btn" class="mt-6 px-6 py-3 bg-blue-500 text-white rounded-full font-bold shadow-lg hover:bg-blue-600 transition-all duration-300">重新開始</button>
</div>
</div>
<div id="feedback-modal" class="fixed inset-0 bg-black bg-opacity-50 hidden items-center justify-center p-4 z-50">
<div class="bg-white rounded-lg p-6 max-w-sm w-full text-center shadow-2xl">
<p id="feedback-text" class="text-xl font-bold mb-4"></p>
<button id="next-btn" class="px-6 py-2 bg-blue-500 text-white rounded-full hover:bg-blue-600 transition-all duration-300">下一題</button>
</div>
</div>
<script>
const questions = [
{
question: "洋蔥式穿搭中,最貼近皮膚的「基礎層」主要功能是什麼?",
options: ["防風防水", "鎖住熱空氣", "排汗"],
answer: "排汗"
},
{
question: "以下哪種材質最不適合用作洋蔥式穿搭的「基礎層」?",
options: ["羊毛", "聚酯纖維", "棉質"],
answer: "棉質"
},
{
question: "「保暖層」的主要功能是透過捕捉什麼來保持身體溫暖?",
options: ["水分", "熱空氣", "光線"],
answer: "熱空氣"
},
{
question: "「防護層」的主要功能是防風和防水,這層最常見的設計是什麼?",
options: ["透氣拉鍊", "隱藏式口袋", "可拆式帽子"],
answer: "透氣拉鍊"
},
{
question: "在寒冷的天氣下,為什麼穿著濕掉的棉質衣物會讓人覺得更冷?",
options: ["因為水會吸收太陽熱能", "因為水會加速身體熱量散失", "因為棉質衣物會變得更重"],
answer: "因為水會加速身體熱量散失"
},
{
question: "如果你覺得身體很熱,但又不想脫掉整件外套,可以怎麼做來調節體溫?",
options: ["把帽子戴起來", "拉開外套的透氣拉鍊", "繫緊外套的袖口"],
answer: "拉開外套的透氣拉鍊"
},
{
question: "保暖層如果被雨淋濕,會發生什麼事?",
options: ["保暖效果會更好", "會變得更輕", "會失去鎖住熱空氣的能力"],
answer: "會失去鎖住熱空氣的能力"
},
{
question: "為什麼「防護層」的防風功能很重要?",
options: ["因為風會讓衣服變得太重", "因為風會吹散保暖層裡鎖住的熱空氣", "因為風會讓衣服顏色變淡"],
answer: "因為風會吹散保暖層裡鎖住的熱空氣"
},
{
question: "洋蔥式穿搭最主要的好處是什麼?",
options: ["讓外觀看起來更時尚", "可以減少衣物數量", "方便根據環境變化調節體溫"],
answer: "方便根據環境變化調節體溫"
},
{
question: "哪一層是為了應對強風和下雨等外部環境變化?",
options: ["基礎層", "保暖層", "防護層"],
answer: "防護層"
}
];
let currentQuestionIndex = 0;
let score = 0;
const quizQuestionDiv = document.getElementById('quiz-question');
const questionText = document.getElementById('question-text');
const answerOptionsDiv = document.getElementById('answer-options');
const quizResultDiv = document.getElementById('quiz-result');
const scoreSpan = document.getElementById('score');
const totalQuestionsSpan = document.getElementById('total-questions');
const resultMessage = document.getElementById('result-message');
const restartBtn = document.getElementById('restart-btn');
const feedbackModal = document.getElementById('feedback-modal');
const feedbackText = document.getElementById('feedback-text');
const nextBtn = document.getElementById('next-btn');
function showQuestion() {
if (currentQuestionIndex < questions.length) {
const q = questions[currentQuestionIndex];
questionText.textContent = q.question;
answerOptionsDiv.innerHTML = '';
q.options.forEach(option => {
const button = document.createElement('button');
button.textContent = option;
button.className = "w-full py-3 px-4 bg-gray-200 text-gray-700 font-medium rounded-full hover:bg-blue-500 hover:text-white transition-colors duration-300 shadow-md";
button.onclick = () => checkAnswer(option);
answerOptionsDiv.appendChild(button);
});
} else {
showResults();
}
}
function checkAnswer(selectedOption) {
const q = questions[currentQuestionIndex];
const isCorrect = selectedOption === q.answer;
if (isCorrect) {
score += 10;
feedbackText.textContent = "答對了!";
feedbackText.className = "text-xl font-bold text-green-600 mb-4";
} else {
feedbackText.textContent = `答錯了... 正確答案是:「${q.answer}」`;
feedbackText.className = "text-xl font-bold text-red-600 mb-4";
}
feedbackModal.style.display = 'flex';
}
nextBtn.onclick = () => {
feedbackModal.style.display = 'none';
currentQuestionIndex++;
showQuestion();
};
function showResults() {
quizQuestionDiv.classList.add('hidden');
quizResultDiv.classList.remove('hidden');
scoreSpan.textContent = score;
totalQuestionsSpan.textContent = 100;
if (score === 100) {
resultMessage.textContent = "太棒了!你完全掌握了洋蔥式穿搭的精髓!";
} else if (score >= 60) {
resultMessage.textContent = "做得很好!再多練習幾次,你就能完全掌握了!";
} else {
resultMessage.textContent = "沒關係,洋蔥式穿搭需要多練習。可以回到前面再複習一次喔!";
}
}
restartBtn.onclick = () => {
currentQuestionIndex = 0;
score = 0;
quizResultDiv.classList.add('hidden');
quizQuestionDiv.classList.remove('hidden');
showQuestion();
};
document.addEventListener('DOMContentLoaded', () => {
showQuestion();
});
</script>
</body>
</html>