diff --git a/languages/zh.css b/languages/zh.css index 90ce1c0c..2358c599 100644 --- a/languages/zh.css +++ b/languages/zh.css @@ -307,6 +307,9 @@ .search-box .include-super-awoken-label::after{ content: "包括超觉醒"; } +.search-box .show-official-awoken-sorting-label::after{ + content: "使用官方觉醒排序"; +} .search-box .sort-div::before{ content: "排序:"; } diff --git a/script-json_data.js b/script-json_data.js index 481befa9..1f600dce 100644 --- a/script-json_data.js +++ b/script-json_data.js @@ -48,6 +48,8 @@ const equivalent_awoken = [ {small:19,big:53,times:2}, //手指 {small:21,big:56,times:2}, //SB ]; +//官方的觉醒排列顺序 +const official_awoken_sorting = [21,19,43,45,10,11,12,13,49,56,53,61,50,52,68,69,70,28,27,48,62,57,58,60,59,54,55,14,15,16,17,18,29,20,44,51,22,23,24,25,26,32,31,33,34,4,5,6,7,8,35,36,37,38,1,2,3,46,47,39,40,41,42,65,66,67,9,71,72,30,64,63]; //排序程序列表 const sort_function_list = [ {tag:"sort_none",name:"无",function:()=>0}, diff --git a/script.js b/script.js index 0e1b6ca7..8b3bfd47 100644 --- a/script.js +++ b/script.js @@ -1155,9 +1155,12 @@ function initialize() { //const s_rare = s_rareLi.map(li=>li.querySelector(".rare-check")); //checkbox集合 - const s_awokensItems = Array.from(searchBox.querySelectorAll(".awoken-div .awoken-count")); - const s_awokensIcons = s_awokensItems.map(it => it.querySelector(".awoken-icon")); - const s_awokensCounts = s_awokensItems.map(it => it.querySelector(".count")); + const s_awokensDiv = searchBox.querySelector(".awoken-div"); + const s_awokensUl = s_awokensDiv.querySelector(".awoken-ul"); + const s_awokensLi = Array.from(s_awokensUl.querySelectorAll(".awoken-count")); + const s_awokensIcons = s_awokensLi.map(li => li.querySelector(".awoken-icon")); + s_awokensUl.originalSorting = s_awokensIcons.map(icon => parseInt(icon.getAttribute("data-awoken-icon"), 10)); + const s_awokensCounts = s_awokensLi.map(li => li.querySelector(".count")); const searchMonList = searchBox.querySelector(".search-mon-list"); //搜索结果列表 searchMonList.originalHeads = null; //用于存放原始搜索结果 @@ -1168,14 +1171,48 @@ function initialize() { toggleDomClassName(this, "only-display-can-assist", true, searchMonList); }; - const s_sawokenDiv = searchBox.querySelector(".sawoken-div"); - const s_sawokens = Array.from(s_sawokenDiv.querySelectorAll(".sawoken-check")); + const s_sawokensDiv = searchBox.querySelector(".sawoken-div"); + const s_sawokensUl = s_sawokensDiv.querySelector(".sawoken-ul"); + const s_sawokensLi = Array.from(s_sawokensUl.querySelectorAll(".awoken-count")); + s_sawokensUl.originalSorting = s_sawokensLi.map(li => parseInt(li.querySelector(".awoken-icon").getAttribute("data-awoken-icon"), 10)); + + const s_sawokens = s_sawokensLi.map(li => li.querySelector(".sawoken-check")); const s_includeSuperAwoken = searchBox.querySelector("#include-super-awoken"); //搜索超觉醒 s_includeSuperAwoken.onchange = function() { - toggleDomClassName(this, className_displayNone, true, s_sawokenDiv); + toggleDomClassName(this, className_displayNone, true, s_sawokensDiv); }; + + const s_showOfficialAwokenSorting = searchBox.querySelector("#show-official-awoken-sorting"); //显示官方排序的觉醒 + s_showOfficialAwokenSorting.onchange = function(){ + let fragmentAwoken = document.createDocumentFragment(); + let fragmentSawoken = document.createDocumentFragment(); + const awokenSorting = this.checked ? official_awoken_sorting : s_awokensUl.originalSorting; + const sawokenSorting = this.checked ? official_awoken_sorting : s_sawokensUl.originalSorting; + awokenSorting.forEach(id=>fragmentAwoken.appendChild( + s_awokensLi.find(li=>parseInt(li.querySelector(".awoken-icon").getAttribute("data-awoken-icon"), 10) == id) + )); + sawokenSorting.forEach(id=>fragmentSawoken.appendChild( + s_sawokensLi.find(li=>parseInt(li.querySelector(".awoken-icon").getAttribute("data-awoken-icon"), 10) == id) + )); + + const officialAwokenSorting_className = "official-awoken-sorting"; + if (this.checked) + { + s_awokensUl.classList.add(officialAwokenSorting_className); + s_sawokensUl.classList.add(officialAwokenSorting_className); + }else + { + s_awokensUl.classList.remove(officialAwokenSorting_className); + s_sawokensUl.classList.remove(officialAwokenSorting_className); + } + s_awokensUl.appendChild(fragmentAwoken); + s_sawokensUl.appendChild(fragmentSawoken); + }; + s_showOfficialAwokenSorting.onchange(); + + function search_awokenAdd1() { const countDom = this.parentNode.querySelector(".count"); let count = parseInt(countDom.value, 10); @@ -1209,7 +1246,7 @@ function initialize() { s_awokensCounts.forEach(t => { t.value = 0; }); - s_awokensItems.forEach(t => { + s_awokensLi.forEach(t => { t.classList.add("zero"); }); }; @@ -1353,7 +1390,7 @@ function initialize() { s_awokensCounts.forEach(t => { t.value = 0; }); - s_awokensItems.forEach(t => { + s_awokensLi.forEach(t => { t.classList.add("zero"); }); // 这些觉醒的选项干脆都不清除 diff --git a/solo.html b/solo.html index 275cc8d1..8cd52157 100644 --- a/solo.html +++ b/solo.html @@ -467,6 +467,7 @@ var formation = new Formation(teamsCount,6);
+