diff --git a/index.html b/index.html index 726934d..b25f36c 100644 --- a/index.html +++ b/index.html @@ -1031,24 +1031,28 @@ function goPage(p){pg=p;r();} // === TOPIC GRID (专项练习) === function renderTopicGrid(){ $('ep').className='exam-picker';$('eh').className='exam-hdr'; - let tps=Object.keys(topicsBySub[sub]||{}); - let h='

📚 专项练习 · 选择知识点

'; - tps.sort().forEach(tp=>{ - let m=mast(sub,tp);let qs=topicsBySub[sub][tp]; - let todo=qs.filter(q=>conv[q.id]===undefined).length; - h+='
'+tp+''+m.s+''+m.lb+(m.p>0?' '+m.p+'%':'')+''+todo+'/'+qs.length+'
'; - }); - h+='
'; - $('mg').className='mg sh';$('mn').innerHTML=h;upd(); + var tps=Object.keys(topicsBySub[sub]||{}); + var cats={}; + if(sub==='english'){cats['语法']='冠词,代词,介词,名词复数,情态动词,be动词,比较级,比较级最高级,there be,不定代词,宾语从句,被动语态,句型转换,综合填空,一般现在时,一般过去时,一般将来时,现在进行时,过去进行时,现在完成时,将来时,过去时,进行时'.split(',');cats['词汇与语音']='语音'.split(',');cats['技能']='完形填空,阅读理解,阅读判断,听力,补全对话,连词成句,情景交际,特殊疑问句,疑问词'.split(',');} + if(sub==='math'){cats['数与计算']='分数,分数化小数,分数计算,简算巧算,解方程,竖式计算,脱式计算,单位换算,小数与循环小数,小数点移动,整数读写,整数与小数读写,最大公因数与最小公倍数,整除,质数,质数与因数,化简比,比与比例,按比例分配,百分数,定义新运算,数列规律'.split(',');cats['图形几何']='平面图形,立体图形,组合图形,角度计算,圆柱与圆锥,比例尺'.split(',');cats['应用题']='行程问题,工程问题,浓度问题,鸡兔同笼,年龄问题,逻辑推理,利润与折扣,牛吃草问题,盈亏问题,周期问题,时钟问题,植树问题,最值问题,容斥原理,方阵问题,找规律,列方程'.split(',');cats['统计与概率']='概率,统计图'.split(',');} + if(sub==='chinese'){cats['字词基础']='看拼音写汉字,字音,字音辨析,字音字形,错别字,成语运用,成语故事人物,近义词辨析,近义词反义词,反义词,标点符号,关联词'.split(',');cats['句子表达']='修改病句,病句修改,修辞手法,句子排序'.split(',');cats['文学文化']='古诗文默写,古诗鉴赏,文言文阅读,文学常识,现代文阅读,口语交际,综合性学习'.split(',');} + var catMap={};var used=[]; + for(var c in cats){if(!cats.hasOwnProperty(c))continue;catMap[c]=cats[c].filter(function(t){return tps.indexOf(t)>=0;});catMap[c].forEach(function(t){used.push(t);});} + var uncat=tps.filter(function(t){return used.indexOf(t)<0;});if(uncat.length)catMap['其他']=uncat; + var cColors={'语法':'#52b788','词汇与语音':'#52b788','技能':'#e63946','数与计算':'#e63946','图形几何':'#ffd166','应用题':'#e63946','统计与概率':'#9147ff','字词基础':'#ffd166','句子表达':'#ffd166','文学文化':'#ffd166','其他':'#888'}; + var html='

📚 专项练习 · 选择知识点

'; + for(var cn in catMap){if(!catMap.hasOwnProperty(cn))continue;var cqs=catMap[cn];if(!cqs.length)continue; + html+='
▸ '+cn+'
'; + cqs.sort().forEach(function(tp){ + var m=mast(sub,tp);var qs=topicsBySub[sub][tp]; + var todo=qs.filter(function(q){return conv[q.id]===undefined;}).length; + var pctCol=m.p>=80?'#52b788':m.p>=50?'#ffd166':'#e63946'; + html+='
'+tp+''+m.s+''+(m.p>0?m.p+'%':'--')+''+todo+'/'+qs.length+'
'; + }); + } + html+='
'; + $('mg').className='mg sh';$('mn').innerHTML=html;upd(); } -function startTopic(tp){ - selCh[sub]='';let qs=Q.filter(q=>q.sub===sub&&q.topic===tp&&conv[q.id]===undefined); - if(!qs.length){$('mn').innerHTML='
🎉 该知识点已全部掌握!
';upd();return;} - let h=''; - qs.forEach((q,i)=>{h+=renderCard(q,i,true);}); - $('mg').className='mg';$('mn').innerHTML=h;upd(); -} -// === EXAM MODE (模拟考场) === function renderExamPicker(){ $('ep').className='exam-picker sh';$('eh').className='exam-hdr';$('mg').className='mg'; $('ep').innerHTML='';