当前位置:首页 > JavaScript

js实现单选判断对错

2026-04-04 21:03:39JavaScript

实现单选判断对错功能

在JavaScript中实现单选判断对错功能,可以通过监听用户选择并比对正确答案来完成。以下是具体实现方法:

创建HTML结构

<div class="quiz-container">
  <h3>问题:JavaScript是一种静态类型语言吗?</h3>
  <div class="options">
    <label>
      <input type="radio" name="answer" value="true"> 正确
    </label>
    <label>
      <input type="radio" name="answer" value="false"> 错误
    </label>
  </div>
  <button id="submit">提交答案</button>
  <div id="result"></div>
</div>

添加JavaScript逻辑

document.getElementById('submit').addEventListener('click', function() {
  const selectedOption = document.querySelector('input[name="answer"]:checked');
  const resultDiv = document.getElementById('result');

  if (!selectedOption) {
    resultDiv.textContent = '请选择一个答案';
    resultDiv.style.color = 'red';
    return;
  }

  const userAnswer = selectedOption.value;
  const correctAnswer = 'false'; // 正确答案

  if (userAnswer === correctAnswer) {
    resultDiv.textContent = '回答正确!';
    resultDiv.style.color = 'green';
  } else {
    resultDiv.textContent = '回答错误!';
    resultDiv.style.color = 'red';
  }
});

动态生成题目

如果需要动态生成多个题目,可以使用以下方法:

const questions = [
  {
    question: "JavaScript是一种静态类型语言吗?",
    options: ["正确", "错误"],
    answer: "false"
  },
  {
    question: "JavaScript运行在客户端吗?",
    options: ["正确", "错误"],
    answer: "true"
  }
];

function renderQuiz(questions) {
  const quizContainer = document.querySelector('.quiz-container');

  questions.forEach((q, index) => {
    const questionDiv = document.createElement('div');
    questionDiv.className = 'question';
    questionDiv.innerHTML = `
      <h3>问题${index + 1}: ${q.question}</h3>
      <div class="options">
        ${q.options.map((opt, i) => `
          <label>
            <input type="radio" name="answer-${index}" value="${i === 0 ? 'true' : 'false'}">
            ${opt}
          </label>
        `).join('')}
      </div>
    `;
    quizContainer.appendChild(questionDiv);
  });
}

renderQuiz(questions);

添加即时反馈

可以修改为选择后立即判断,而不需要提交按钮:

document.querySelectorAll('input[type="radio"]').forEach(radio => {
  radio.addEventListener('change', function() {
    const questionDiv = this.closest('.question');
    const resultDiv = questionDiv.querySelector('.result') || document.createElement('div');
    resultDiv.className = 'result';
    questionDiv.appendChild(resultDiv);

    const correctAnswer = this.value === 'true' ? '正确' : '错误';
    resultDiv.textContent = `正确答案是:${correctAnswer}`;
    resultDiv.style.color = this.checked ? (this.value === 'true' ? 'green' : 'red') : 'inherit';
  });
});

样式优化

添加CSS使界面更友好:

js实现单选判断对错

.quiz-container {
  max-width: 600px;
  margin: 20px auto;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 5px;
}

.options {
  margin: 15px 0;
}

label {
  display: block;
  margin: 5px 0;
  cursor: pointer;
}

button {
  padding: 8px 15px;
  background-color: #4CAF50;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

button:hover {
  background-color: #45a049;
}

这些方法提供了单选判断对错功能的基本实现,可以根据实际需求进行调整和扩展。

标签: 对错单选
分享给朋友:

相关文章

vue单选实现

vue单选实现

Vue 单选实现方法 在 Vue 中实现单选功能可以通过多种方式完成,以下是常见的几种方法: 使用 v-model 绑定单选按钮 通过 v-model 绑定到同一个变量,实现单选效果: <t…

vue 实现表格单选

vue 实现表格单选

实现表格单选的基本思路 在Vue中实现表格单选功能,通常需要结合表格组件(如el-table)和数据绑定。核心逻辑是通过点击事件更新当前选中行的唯一标识(如id),并通过:class或:style绑定…

vue怎么实现单选

vue怎么实现单选

实现单选功能的方法 在Vue中实现单选功能可以通过多种方式,以下是几种常见的实现方法: 使用原生HTML单选按钮 通过v-model绑定数据,结合原生<input type="radio"&g…

vue 实现单选功能

vue 实现单选功能

实现单选功能的方法 在Vue中实现单选功能可以通过多种方式完成,以下是几种常见的方法: 使用原生HTML单选按钮 通过v-model绑定数据,结合原生<input type="radio"&g…

vue实现单选弹窗

vue实现单选弹窗

Vue 实现单选弹窗的方法 使用 Element UI 的 Dialog 和 Radio 组件 安装 Element UI 后,可以通过 Dialog 和 Radio 组件快速实现单选弹窗功能。…

vue 实现图片单选

vue 实现图片单选

Vue 实现图片单选功能 在 Vue 中实现图片单选功能,可以通过结合 v-model 和自定义事件来实现。以下是具体实现方法: 方法一:使用 v-model 和计算属性 创建一个 Vue 组件,包…