From d5ca4a122e80df121d96c7ae7fcc78c20cb330d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=AB=E8=B0=B7=E5=89=91=E4=BB=99?= Date: Tue, 17 Mar 2020 18:27:55 +0800 Subject: [PATCH] =?UTF-8?q?=E2=80=9C=E6=97=A0=E2=80=9D=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E6=81=A2=E5=A4=8D=E9=BB=98=E8=AE=A4=E6=8E=92?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- languages/zh-CN.js | 10 +--------- script.js | 48 ++++++++++++++++++++++++---------------------- 2 files changed, 26 insertions(+), 32 deletions(-) diff --git a/languages/zh-CN.js b/languages/zh-CN.js index 91fef87d..320b62c6 100644 --- a/languages/zh-CN.js +++ b/languages/zh-CN.js @@ -13,7 +13,7 @@ function findFullSkill(subSkill){ //返回flag里值为true的数组,如[1,4,7] function flags(num){ - return Array.from(new Array(32)).map((a,i)=>{return i;}).filter(i => num & (1 << i)); + return Array.from({length:10},(n,i)=>i).filter(i => num & (1 << i)); } //高级技能解释 @@ -38,14 +38,6 @@ function parseSkillDescription(skill) function typeN(i){return typeName[i || 0] || ("未知类型" + i);} //返回觉醒名 function awokenN(i){return awokenName[(i || 0)-1] || ("未知觉醒" + i);} - //从二进制的数字中获得布尔值数组 - function getBooleanFromBinary(num,reverse=true) - { /*num是输入的数字,2的N次方在2进制下表示1后面跟着N个0。 - 如果num和2的N次方同时存在某位1,则返回这个数,逻辑上转换为true。*/ - let arr = num.toString(2).split("").map(c=>{return parseInt(c);}); - if (reverse) arr.reverse(); - return arr; - } //从二进制的数字中获得有哪些内容 function getNamesFromBinary(num,dataArr) { /*num是输入的数字,2的N次方在2进制下表示1后面跟着N个0。 diff --git a/script.js b/script.js index eb0a9b50..bc6b94ee 100644 --- a/script.js +++ b/script.js @@ -826,6 +826,7 @@ function initialize() }); const searchMonList = searchBox.querySelector(".search-mon-list"); //搜索结果列表 + searchMonList.originalHeads = null; //用于存放原始搜索结果 const s_awokensEquivalent = searchBox.querySelector("#consider-equivalent-awoken"); //搜索等效觉醒 const s_canAssist = searchBox.querySelector("#can-assist"); //只搜索辅助 @@ -842,9 +843,9 @@ function initialize() const s_includeSuperAwoken = searchBox.querySelector("#include-super-awoken"); //搜索超觉醒 s_includeSuperAwoken.onclick = function(){ if (this.checked) - s_sawokenDiv.classList.add("display-none"); + s_sawokenDiv.classList.add("display-none"); else - s_sawokenDiv.classList.remove("display-none"); + s_sawokenDiv.classList.remove("display-none"); }; function search_awokenAdd1() @@ -917,23 +918,15 @@ function initialize() const createCardHead = editBox.createCardHead; searchMonList.classList.add("display-none"); - searchMonList.innerHTML = ""; + searchMonList.innerHTML = ""; //清空旧的 if (searchArr.length>0) { let fragment = document.createDocumentFragment(); //创建节点用的临时空间 - - const sortIndex = parseInt(s_sortList.value,10); - const reverse = s_sortReverse.checked; - const sortFunction = sort_function_list[sortIndex].function; - searchArr.sort((card_a,card_b)=>{ - let sortNumber = sortFunction(card_a,card_b); - if (reverse) sortNumber *= -1; - return sortNumber; - }); - searchArr.forEach(function(card){ - const cli = createCardHead(card.id); - fragment.appendChild(cli); - }); + //获取原始排序的头像列表 + searchMonList.originalHeads = searchArr.map(card=>createCardHead(card.id)); + //对头像列表进行排序 + const headsArray = sortHeadsArray(searchMonList.originalHeads); + headsArray.forEach(head=>fragment.appendChild(head)); searchMonList.appendChild(fragment); } searchMonList.classList.remove("display-none"); @@ -1014,26 +1007,35 @@ function initialize() t.checked = false; }); + searchMonList.originalHeads = null; searchMonList.innerHTML = ""; }; const s_sortList = s_controlDiv.querySelector(".sort-list"); const s_sortReverse = s_controlDiv.querySelector("#sort-reverse"); - //对搜索到的Cards重新排序 - function reSortCards() + //对heads重新排序 + function sortHeadsArray(heads) { const sortIndex = parseInt(s_sortList.value,10); const reverse = s_sortReverse.checked; + let headsArray = heads.concat(); - searchMonList.classList.add("display-none"); - let fragment = document.createDocumentFragment(); //创建节点用的临时空间 - let headsArray = Array.from(searchMonList.children); headsArray.sort((head_a,head_b)=>{ - let sortNumber = sort_function_list[sortIndex].function(head_a.card,head_b.card); + const card_a = head_a.card,card_b = head_b.card; + let sortNumber = sort_function_list[sortIndex].function(card_a,card_b); if (reverse) sortNumber *= -1; return sortNumber; }); - headsArray.forEach(h=>fragment.appendChild(h)); + + return headsArray; + } + //对搜索到的Cards重新排序 + function reSortCards() + { + searchMonList.classList.add("display-none"); + let fragment = document.createDocumentFragment(); //创建节点用的临时空间 + const headsArray = sortHeadsArray(searchMonList.originalHeads); + headsArray.forEach(head=>fragment.appendChild(head)); searchMonList.appendChild(fragment); searchMonList.classList.remove("display-none"); }