admin
2025-06-13 13:10:36
ta charset="UTF-8" />
ta name="viewport" content="width=device-width, initial-scale=1.0" />
nk rel="stylesheet" href="styles.css" />
知识点学习页面
知识点
-
1. 二进制
-
2. 进制转换
-
3. 位运算
.container {
display: flex;
width: 80%;
margin: 0 auto;
}
.left-column {
width: 20%;
border-right: 1px solid #ccc;
padding: 10px;
}
.right-column {
width: 80%;
padding: 10px;
}
#topic-list li {
cursor: pointer;
margin-bottom: 5px;
}
#topic-list li:hover {
background-color: #f0f0f0;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles.css">
<title>知识点学习页面</title>
</head>
<body>
<div class="container">
<div class="left-column">
<h3>知识点</h3>
<ul id="topic-list">
<li data-topic="binary">1. 二进制</li>
<li data-topic="conversion">2. 进制转换</li>
<li data-topic="bitwise">3. 位运算</li>
</ul>
</div>
<div class="right-column">
<div id="content"></div>
<div id="quiz" style="display: none;">
<h3>互动选择题</h3>
<p id="question"></p >
<input type="radio" id="option1" name="answer">
<label for="option1"></label><br>
<input type="radio" id="option2" name="answer">
<label for="option2"></label><br>
<input type="radio" id="option3" name="answer">
<label for="option3"></label><br>
<button onclick="checkAnswer()">提交答案</button>
<div id="explanation" style="display: none;"></div>
</div>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
const topicList = document.getElementById('topic-list');
const contentDiv = document.getElementById('content');
const quizDiv = document.getElementById('quiz');
const questionElement = document.getElementById('question');
const option1 = document.getElementById('option1');
const option2 = document.getElementById('option2');
const option3 = document.getElementById('option3');
const explanationDiv = document.getElementById('explanation');
// 知识点内容
const topics = {
binary: `在计算机中,二进制是一种以2为基数的计数系统,它只使用0和1两个符号。二进制在计算机底层存储和运算中起着关键作用,因为计算机硬件电路的高低电平可以很方便地表示0和1。`,
conversion: `进制转换是将一个数从一种进制表示转换为另一种进制表示。常见的有二进制、八进制、十进制和十六进制之间的转换。例如,将十进制数转换为二进制数可以使用除2取余的方法。`,
bitwise: `位运算是对二进制位进行的运算,包括与(&)、或(|)、非(~)、异或(^)等操作。位运算在一些底层编程和数据处理中经常被使用,比如在压缩算法、加密算法等方面。`
};
// 选择题内容
const quizData = {
binary: {
question: "二进制的基数是多少?",
options: ["1", "2", "10"],
answer: "2",
explanation: "二进制是以2为基数的计数系统,它只有0和1两个符号,逢2进1。"
},
conversion: {
question: "将十进制数10转换为二进制数是?",
options: ["1010", "1100", "1001"],
answer: "1010",
explanation: "使用除2取余法,10除以2商5余0,5除以2商2余1,2除以2商1余0,1除以2商0余1,从下往上取余数得到1010。"
},
bitwise: {
question: "以下哪个是按位与运算符号?",
options: ["|", "&", "^"],
answer: "&",
explanation: "按位与运算符号是&,它的运算规则是两个对应位都为1时结果位才为1,否则为0。"
}
};
topicList.addEventListener('click', function (e) {
if (e.target.tagName === 'LI') {
const topic = e.target.dataset.topic;
contentDiv.innerHTML = topics[topic];
// 显示选择题
const quiz = quizData[topic];
if (quiz) {
quizDiv.style.display = 'block';
questionElement.textContent = quiz.question;
option1.nextSibling.textContent = quiz.options[0];
option2.nextSibling.textContent = quiz.options[1];
option3.nextSibling.textContent = quiz.options[2];
explanationDiv.textContent = quiz.explanation;
} else {
quizDiv.style.display = 'none';
}
}
});
function checkAnswer() {
const selectedAnswer = document.querySelector('input[name="answer"]:checked');
if (selectedAnswer) {
const correctAnswer = quizData[document.querySelector('#topic-list li.active').dataset.topic].answer;
if (selectedAnswer.value === correctAnswer) {
alert('回答正确!');
} else {
alert('回答错误!');
}
explanationDiv.style.display = 'block';
} else {
alert('请选择一个答案!');
}
}
ript src="script.js">ript>