学生选课系统js+html,每个课程最多选20人的代码
时间: 2024-02-27 21:51:40 浏览: 92
好的,这是一个简单的学生选课系统的示例代码,使用了 HTML、CSS 和 JavaScript,每个课程最多选20人。
HTML 代码:
```
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>学生选课系统</title>
<style>
.course {
margin-bottom: 10px;
}
.course-name {
font-size: 16px;
font-weight: bold;
}
.course-code {
font-size: 14px;
color: #666;
}
.course-select {
margin-left: 10px;
padding: 5px 10px;
background-color: #00c853;
color: #fff;
border: none;
cursor: pointer;
}
.course-full {
background-color: #f44336;
}
</style>
</head>
<body>
<h1>学生选课系统</h1>
<div id="course-list"></div>
<script src="script.js"></script>
</body>
</html>
```
在 `<div>` 标签中展示课程列表,每个课程都有一个“选课”按钮。CSS 样式定义了课程名、课程编号、选课按钮等的样式。
JavaScript 代码:
```
// 课程列表数据
const courses = [
{
name: '计算机网络',
code: 'CS101',
selected: 0,
max: 20
},
{
name: '数据结构',
code: 'CS102',
selected: 0,
max: 20
},
{
name: '算法设计与分析',
code: 'CS103',
selected: 0,
max: 20
},
{
name: '数据库系统',
code: 'CS104',
selected: 0,
max: 20
}
];
// 获取课程列表 DOM 元素
const courseList = document.getElementById('course-list');
// 渲染课程列表
courses.forEach((course) => {
const courseDiv = document.createElement('div');
courseDiv.className = 'course';
courseDiv.innerHTML = `
<div class="course-name">${course.name}</div>
<div class="course-code">${course.code}</div>
<button class="course-select">选课</button>
`;
const selectButton = courseDiv.querySelector('.course-select');
selectButton.addEventListener('click', () => {
if (course.selected < course.max) {
course.selected++;
selectButton.innerHTML = `选课(${course.selected}/${course.max})`;
if (course.selected === course.max) {
selectButton.classList.add('course-full');
selectButton.disabled = true;
}
} else {
alert('该课程已选满!');
}
});
courseList.appendChild(courseDiv);
});
```
首先定义了一个包含课程信息的数组 `courses`,每个课程包括课程名称、课程编号、已选人数和选课人数上限等信息。然后获取课程列表的 DOM 元素,循环遍历 `courses` 数组,为每个课程创建一个 `<div>` 标签,包括课程名称、课程编号和“选课”按钮,同时为“选课”按钮添加了一个事件监听器,当用户点击“选课”按钮时,如果该课程已选人数未达到上限,则选课人数加1,更新按钮文本,如果选课人数已达到上限,则禁用按钮并将其样式设置为“已满”,同时弹出提示框告知用户已达到选课人数上限。最后将渲染好的课程列表添加到页面中。
阅读全文