document.addEventListener('DOMContentLoaded', function () { // 学科名称映射 const subjectMap = { 'live': '生活', 'language': '语文', 'math': '数学' }; // 年级名称映射 const gradeNames = ['一年级', '二年级', '三年级', '四年级', '五年级', '六年级']; // 学期名称 const semesterNames = ['上册', '下册']; // 当前视图状态 let currentView = { mode: 'semester', // 'semester' | 'courses' subject: null, grade: null, semester: null }; // 根据学科、年级、学期动态生成图片路径的函数 function getCourseImagePath(subject, gradeIndex, semesterIndex) { const subjectPrefix = { 'math': 'math', 'language': 'chinese', // 如果有语文图片的话 'live': 'life' // 如果有生活图片的话 }; const gradeNumber = gradeIndex + 1; // 转换为1-6 const semesterText = semesterIndex === 0 ? '上' : '下'; const prefix = subjectPrefix[subject] || subject; return `../asset/course_img/${prefix}${gradeNumber}${semesterText}.png`; } // 当前选中的筛选条件 let currentFilters = { subject: 'math', // 默认选中数学 grade: 1 // 默认选中二年级 (索引1) }; // 生成学科标签 function generateSubjectTags() { const container = document.getElementById('subject-tags'); const courseList = GLOBAL_CONFIG.courseList; Object.keys(courseList).forEach((subject, index) => { const tag = document.createElement('div'); tag.className = 'filter-tag'; tag.textContent = subjectMap[subject] || subject; tag.dataset.subject = subject; if (subject === currentFilters.subject) { tag.classList.add('active'); } tag.addEventListener('click', function () { container.querySelectorAll('.filter-tag').forEach(t => t.classList.remove('active')); this.classList.add('active'); currentFilters.subject = subject; // 重置视图状态 currentView.mode = 'semester'; updateCourseDisplay(); }); container.appendChild(tag); }); } // 生成类别标签 function getCate() { const container = document.getElementById('Category'); if (!container) { console.warn('Category container not found'); return; } const cates = ['培智学校']; container.innerHTML = ''; cates.forEach((category, index) => { const tag = document.createElement('div'); tag.className = 'filter-tag'; tag.textContent = category; tag.dataset.category = category; if (index === 0) { tag.classList.add('active'); if (typeof currentFilters !== 'undefined') { currentFilters.category = category; } } tag.addEventListener('click', function () { container.querySelectorAll('.filter-tag').forEach(t => t.classList.remove('active')); this.classList.add('active'); if (typeof currentFilters !== 'undefined') { currentFilters.category = category; } // 重置视图状态 currentView.mode = 'semester'; updateCourseDisplay(); }); container.appendChild(tag); }); } // 生成年级标签 function generateGradeTags() { const container = document.getElementById('grade-tags'); gradeNames.forEach((gradeName, index) => { const tag = document.createElement('div'); tag.className = 'filter-tag'; tag.textContent = gradeName; tag.dataset.grade = index; if (index === currentFilters.grade) { tag.classList.add('active'); } tag.addEventListener('click', function () { container.querySelectorAll('.filter-tag').forEach(t => t.classList.remove('active')); this.classList.add('active'); currentFilters.grade = index; // 重置视图状态 currentView.mode = 'semester'; updateCourseDisplay(); }); container.appendChild(tag); }); } // 创建返回按钮 function createBackButton() { const backBtn = document.createElement('div'); backBtn.className = 'back-button'; backBtn.innerHTML = ` 返回学期选择 `; backBtn.addEventListener('click', function () { currentView.mode = 'semester'; updateCourseDisplay(); }); return backBtn; } // 显示学期卡片 function displaySemesterCards() { const container = document.getElementById('materials-container'); const courseList = GLOBAL_CONFIG.courseList; // 清空现有内容 container.innerHTML = ''; container.className = 'materials-grid'; // 重置为学期卡片样式 // 为上册和下册分别创建卡片 semesterNames.forEach((semesterName, semesterIndex) => { const courses = courseList[currentFilters.subject]?.[currentFilters.grade]?.[semesterIndex] || []; const bookImage = getCourseImagePath(currentFilters.subject, currentFilters.grade, semesterIndex); const card = document.createElement('div'); card.className = 'material-card'; if (courses.length === 0) { card.innerHTML = `
该学期的课程正在筹备中...
${course.des}