diff --git a/script.js b/script.js deleted file mode 100644 index b997e10..0000000 --- a/script.js +++ /dev/null @@ -1,122 +0,0 @@ -document.addEventListener("DOMContentLoaded", () => { - let students = []; - let scores = {}; - - // 读取 Excel 文件 - document.getElementById('fileInput').addEventListener('change', (event) => { - const file = event.target.files[0]; - if (!file) return; - - const reader = new FileReader(); - reader.onload = (e) => { - const data = new Uint8Array(e.target.result); - const workbook = XLSX.read(data, { type: 'array' }); - const sheet = workbook.Sheets[workbook.SheetNames[0]]; - const jsonData = XLSX.utils.sheet_to_json(sheet, { header: 1 }); - - // 将数据转化为学生对象 - students = jsonData.slice(1).map(row => ({ - id: row[0], - name: row[1], - score: 0 // 初始积分为0 - })); - - // 初始化每个学生的积分 - students.forEach(student => { - scores[student.id] = 0; - }); - - console.log('学生名单加载成功:', students); - document.getElementById('normalModeButton').classList.remove('hidden'); - document.getElementById('advancedModeButton').classList.remove('hidden'); - document.getElementById('viewRankButton').classList.remove('hidden'); - }; - - reader.readAsArrayBuffer(file); - }); - - // 普通模式按钮 - document.getElementById('normalModeButton').addEventListener('click', () => { - selectStudent('普通模式'); - }); - - // 进阶模式按钮 - document.getElementById('advancedModeButton').addEventListener('click', () => { - selectStudent('进阶模式'); - }); - - // 查看积分排行榜 - document.getElementById('viewRankButton').addEventListener('click', () => { - displayRankTable(); - }); - - // 退出按钮 - document.getElementById('exitButton').addEventListener('click', () => { - window.close(); // 关闭网页 - }); - - // 随机选择学生 - function selectStudent(mode) { - if (students.length === 0) { - alert('学生名单尚未加载!'); - return; - } - - const selectedStudent = students[Math.floor(Math.random() * students.length)]; - const studentInfo = document.getElementById('studentInfo'); - studentInfo.classList.remove('hidden'); - - // 随机生成积分(1-3分)作为示例 - const pointsEarned = Math.random() > 0.5 ? 1 : Math.floor(Math.random() * 3) + 1; - updateScore(selectedStudent.id, pointsEarned); // 更新积分 - - // 动态显示学生信息和积分变化 - studentInfo.innerHTML = ` - 模式: ${mode}
姓名: ${selectedStudent.name}
学号: ${selectedStudent.id}
- 获得积分: ${pointsEarned} 分 - `; - - // 添加动画效果 - const pointsSpan = document.querySelector('.points-earned'); - pointsSpan.style.animation = 'pop-in 0.5s ease'; - - // 延时移除动画效果 - setTimeout(() => { - pointsSpan.style.animation = ''; - }, 500); - } - - // 更新学生积分 - function updateScore(studentId, points) { - scores[studentId] += points; - console.log('更新积分:', scores); - } - - // 显示积分排行榜,从高到低排序 - function displayRankTable() { - const rankList = document.getElementById('rankList'); - rankList.innerHTML = ''; - - // 按积分从高到低排序 - const sortedStudents = students.sort((a, b) => scores[b.id] - scores[a.id]); - - sortedStudents.forEach(student => { - const tr = document.createElement('tr'); - const tdId = document.createElement('td'); - tdId.textContent = student.id; - - const tdName = document.createElement('td'); - tdName.textContent = student.name; - - const tdScore = document.createElement('td'); - tdScore.textContent = scores[student.id]; - - tr.appendChild(tdId); - tr.appendChild(tdName); - tr.appendChild(tdScore); - rankList.appendChild(tr); - }); - - document.getElementById('rankTable').classList.remove('hidden'); - } -});