将星级筛选改回任意搜索而不是范围搜索
This commit is contained in:
parent
45d066a4f5
commit
790ef63c0f
20
multi.html
20
multi.html
|
@ -862,16 +862,16 @@ var formation = new Formation(teamsCount,5);
|
|||
</div>
|
||||
<div class="rare-div"><!--稀有星级-->
|
||||
<div class="rare-list">
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="1" checked/><div class="rare-icon" data-rare-icon="1"></div><input type="radio" class="rare-radio" name="rare-high" value="1" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="2" /><div class="rare-icon" data-rare-icon="2"></div><input type="radio" class="rare-radio" name="rare-high" value="2" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="3" /><div class="rare-icon" data-rare-icon="3"></div><input type="radio" class="rare-radio" name="rare-high" value="3" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="4" /><div class="rare-icon" data-rare-icon="4"></div><input type="radio" class="rare-radio" name="rare-high" value="4" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="5" /><div class="rare-icon" data-rare-icon="5"></div><input type="radio" class="rare-radio" name="rare-high" value="5" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="6" /><div class="rare-icon" data-rare-icon="6"></div><input type="radio" class="rare-radio" name="rare-high" value="6" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="7" /><div class="rare-icon" data-rare-icon="7"></div><input type="radio" class="rare-radio" name="rare-high" value="7" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="8" /><div class="rare-icon" data-rare-icon="8"></div><input type="radio" class="rare-radio" name="rare-high" value="8" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="9" /><div class="rare-icon" data-rare-icon="9"></div><input type="radio" class="rare-radio" name="rare-high" value="9" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="10" /><div class="rare-icon" data-rare-icon="10"></div><input type="radio" class="rare-radio" name="rare-high" value="10" checked/>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="1" id="search-rare-1" checked /><label class="rare-icon" data-rare-icon="1" for="search-rare-1"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="2" id="search-rare-2" checked /><label class="rare-icon" data-rare-icon="2" for="search-rare-2"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="3" id="search-rare-3" checked /><label class="rare-icon" data-rare-icon="3" for="search-rare-3"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="4" id="search-rare-4" checked /><label class="rare-icon" data-rare-icon="4" for="search-rare-4"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="5" id="search-rare-5" checked /><label class="rare-icon" data-rare-icon="5" for="search-rare-5"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="6" id="search-rare-6" checked /><label class="rare-icon" data-rare-icon="6" for="search-rare-6"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="7" id="search-rare-7" checked /><label class="rare-icon" data-rare-icon="7" for="search-rare-7"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="8" id="search-rare-8" checked /><label class="rare-icon" data-rare-icon="8" for="search-rare-8"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="9" id="search-rare-9" checked /><label class="rare-icon" data-rare-icon="9" for="search-rare-9"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="10" id="search-rare-10" checked /><label class="rare-icon" data-rare-icon="10" for="search-rare-10"></label>
|
||||
</div>
|
||||
<button class="rare-clear brown-button"></button>
|
||||
</div>
|
||||
|
|
|
@ -679,7 +679,7 @@ function calculateAbility_max(id, solo, teamsCount, maxLevel = 110) {
|
|||
}
|
||||
}
|
||||
//搜索卡片用
|
||||
function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rares:[rareLow, rareHigh], awokens, sawokens, equalAk, incSawoken, canAssist, canLv110, is8Latent}) {
|
||||
function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rares, awokens, sawokens, equalAk, incSawoken, canAssist, canLv110, is8Latent}) {
|
||||
let cardsRange = cards.concat(); //这里需要复制一份原来的数组,不然若无筛选,后面的排序会改变初始Cards
|
||||
if (canAssist) cardsRange = cardsRange.filter(card=>card.canAssist);
|
||||
if (canLv110) cardsRange = cardsRange.filter(card=>card.limitBreakIncr>0);
|
||||
|
@ -716,14 +716,13 @@ function searchCards(cards, {attrs: sAttrs, fixMainColor, types, typeAndOr, rare
|
|||
}
|
||||
//类型
|
||||
if (types.length > 0) {
|
||||
cardsRange = cardsRange.filter(({types: cTypes}) =>
|
||||
//所有type都满足,或只需要满足一个type
|
||||
types[typeAndOr ? 'every' : 'some'](t => cTypes.includes(t))
|
||||
);
|
||||
//所有type都满足,或只需要满足一个type
|
||||
let logicFunc = typeAndOr ? Array.prototype.every : Array.prototype.some;
|
||||
cardsRange = cardsRange.filter(({types: cTypes}) => logicFunc.call(types, t => cTypes.includes(t)));
|
||||
}
|
||||
//稀有度
|
||||
if (rareLow !== 1 || rareHigh !== 10) { //不是1~10时才进行筛选
|
||||
cardsRange = cardsRange.filter(({rarity}) => rarity >= rareLow && rarity <= rareHigh);
|
||||
if (rares.length < 10) { //不是1~10时才进行筛选
|
||||
cardsRange = cardsRange.filter(({rarity}) => rares.includes(rarity));
|
||||
}
|
||||
//觉醒
|
||||
let searchAwokens = [];
|
||||
|
|
47
script.js
47
script.js
|
@ -3539,45 +3539,12 @@ function initialize() {
|
|||
//稀有度筛选
|
||||
const s_rareDiv = searchBox.querySelector(".rare-div");
|
||||
const s_rareLst = s_rareDiv.querySelector(".rare-list");
|
||||
const s_rareIcons = Array.from(s_rareLst.querySelectorAll(".rare-icon"));
|
||||
const s_rareLows = Array.from(s_rareLst.querySelectorAll("input[name='rare-low']"));
|
||||
const s_rareHighs = Array.from(s_rareLst.querySelectorAll("input[name='rare-high']"));
|
||||
function s_rareIcons_onclick()
|
||||
{
|
||||
const thisValue = parseInt(this.getAttribute("data-rare-icon"),10);
|
||||
const radioLow = s_rareLows.find(radio=>radio.checked);
|
||||
const radioHigh = s_rareHighs.find(radio=>radio.checked);
|
||||
const rangeLow = radioLow ? parseInt(radioLow.value,10) : 1;
|
||||
const rangeHigh = radioHigh ? parseInt(radioHigh.value,10) : 10;
|
||||
|
||||
s_rareLows.find(radio=>parseInt(radio.value,10) == (
|
||||
rangeLow != rangeHigh ?
|
||||
thisValue :
|
||||
(
|
||||
thisValue == rangeLow ?
|
||||
1 :
|
||||
Math.min(thisValue,rangeLow)
|
||||
)
|
||||
)).checked = true;
|
||||
s_rareHighs.find(radio=>parseInt(radio.value,10) == (
|
||||
rangeLow != rangeHigh ?
|
||||
thisValue :
|
||||
(
|
||||
thisValue == rangeLow ?
|
||||
10 :
|
||||
Math.max(thisValue,rangeHigh)
|
||||
)
|
||||
)).checked = true;
|
||||
}
|
||||
s_rareIcons.forEach(icon=>icon.onclick = s_rareIcons_onclick);
|
||||
const s_rareChecks = Array.from(s_rareLst.querySelectorAll("input[name='search-rare']"));
|
||||
const s_rareClear = s_rareDiv.querySelector(".rare-clear");
|
||||
s_rareClear.onclick = function(){
|
||||
s_rareLows[0].checked = true;
|
||||
s_rareHighs[s_rareHighs.length-1].checked = true;
|
||||
s_rareChecks.forEach(i => i.checked = true);
|
||||
}
|
||||
|
||||
//const s_rare = s_rareLi.map(li=>li.querySelector(".rare-check")); //checkbox集合
|
||||
|
||||
const s_awokensDiv = searchBox.querySelector(".awoken-div");
|
||||
const s_awokensUl = s_awokensDiv.querySelector(":scope .all-awokens .awoken-ul");
|
||||
const s_awokensLi = Array.from(s_awokensUl.querySelectorAll(".awoken-count"));
|
||||
|
@ -3923,7 +3890,7 @@ function initialize() {
|
|||
s_add_show_abilities_with_awoken.onchange = reShowSearch;
|
||||
|
||||
//恢复搜索状态
|
||||
searchBox.recoverySearchStatus = function({attrs, fixMainColor, types, typeAndOr, rares:[rareLow, rareHigh], awokens, sawokens, equalAk, incSawoken, canAssist, canLv110, is8Latent, specialFilters}) {
|
||||
searchBox.recoverySearchStatus = function({attrs, fixMainColor, types, typeAndOr, rares, awokens, sawokens, equalAk, incSawoken, canAssist, canLv110, is8Latent, specialFilters}) {
|
||||
//属性这里是用的2进制写
|
||||
attrs.forEach((attr, ai)=>{
|
||||
const attr_list = s_attr_lists[ai];
|
||||
|
@ -3934,8 +3901,7 @@ function initialize() {
|
|||
s_fixMainColor.checked = fixMainColor;
|
||||
s_types.filter(opt=>types.includes(parseInt(opt.value,10))).forEach(opt=>opt.checked = true);
|
||||
s_typeAndOr.checked = typeAndOr;
|
||||
(s_rareLows.find(opt=>parseInt(opt.value,10) == rareLow) || s_rareLows[0]).checked = true;
|
||||
(s_rareHighs.find(opt=>parseInt(opt.value,10) == rareHigh) || s_rareHighs[s_rareHighs.length-1]).checked = true;
|
||||
s_rareChecks.filter(opt=>rares.includes(parseInt(opt.value,10))).forEach(opt=>opt.checked = true);
|
||||
|
||||
s_selectedAwokensUl.innerHTML = "";
|
||||
//添加觉醒
|
||||
|
@ -3971,10 +3937,7 @@ function initialize() {
|
|||
searchBox.getSearchOptions = function(){
|
||||
const attrs = s_attr_lists.map(list=>parseInt(returnRadiosValue(list), 2) || 0);
|
||||
const types = returnCheckBoxsValues(s_types).map(Str2Int);
|
||||
const rares = [
|
||||
parseInt(returnRadiosValue(s_rareLows), 10),
|
||||
parseInt(returnRadiosValue(s_rareHighs), 10),
|
||||
];
|
||||
const rares = returnCheckBoxsValues(s_rareChecks).map(Str2Int);
|
||||
const sawokens = returnCheckBoxsValues(s_sawokens).map(Str2Int);
|
||||
const awokens = s_awokensIcons.filter(btn => parseInt(btn.getAttribute("data-awoken-count"), 10) > 0).map(btn => {
|
||||
return {
|
||||
|
|
20
solo.html
20
solo.html
|
@ -697,16 +697,16 @@ var formation = new Formation(teamsCount,6);
|
|||
</div>
|
||||
<div class="rare-div"><!--稀有星级-->
|
||||
<div class="rare-list">
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="1" checked/><div class="rare-icon" data-rare-icon="1"></div><input type="radio" class="rare-radio" name="rare-high" value="1" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="2" /><div class="rare-icon" data-rare-icon="2"></div><input type="radio" class="rare-radio" name="rare-high" value="2" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="3" /><div class="rare-icon" data-rare-icon="3"></div><input type="radio" class="rare-radio" name="rare-high" value="3" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="4" /><div class="rare-icon" data-rare-icon="4"></div><input type="radio" class="rare-radio" name="rare-high" value="4" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="5" /><div class="rare-icon" data-rare-icon="5"></div><input type="radio" class="rare-radio" name="rare-high" value="5" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="6" /><div class="rare-icon" data-rare-icon="6"></div><input type="radio" class="rare-radio" name="rare-high" value="6" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="7" /><div class="rare-icon" data-rare-icon="7"></div><input type="radio" class="rare-radio" name="rare-high" value="7" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="8" /><div class="rare-icon" data-rare-icon="8"></div><input type="radio" class="rare-radio" name="rare-high" value="8" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="9" /><div class="rare-icon" data-rare-icon="9"></div><input type="radio" class="rare-radio" name="rare-high" value="9" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="10" /><div class="rare-icon" data-rare-icon="10"></div><input type="radio" class="rare-radio" name="rare-high" value="10" checked/>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="1" id="search-rare-1" checked /><label class="rare-icon" data-rare-icon="1" for="search-rare-1"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="2" id="search-rare-2" checked /><label class="rare-icon" data-rare-icon="2" for="search-rare-2"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="3" id="search-rare-3" checked /><label class="rare-icon" data-rare-icon="3" for="search-rare-3"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="4" id="search-rare-4" checked /><label class="rare-icon" data-rare-icon="4" for="search-rare-4"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="5" id="search-rare-5" checked /><label class="rare-icon" data-rare-icon="5" for="search-rare-5"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="6" id="search-rare-6" checked /><label class="rare-icon" data-rare-icon="6" for="search-rare-6"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="7" id="search-rare-7" checked /><label class="rare-icon" data-rare-icon="7" for="search-rare-7"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="8" id="search-rare-8" checked /><label class="rare-icon" data-rare-icon="8" for="search-rare-8"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="9" id="search-rare-9" checked /><label class="rare-icon" data-rare-icon="9" for="search-rare-9"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="10" id="search-rare-10" checked /><label class="rare-icon" data-rare-icon="10" for="search-rare-10"></label>
|
||||
</div>
|
||||
<button class="rare-clear brown-button"></button>
|
||||
</div>
|
||||
|
|
20
triple.html
20
triple.html
|
@ -1783,16 +1783,16 @@ var formation = new Formation(teamsCount,6);
|
|||
</div>
|
||||
<div class="rare-div"><!--稀有星级-->
|
||||
<div class="rare-list">
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="1" checked/><div class="rare-icon" data-rare-icon="1"></div><input type="radio" class="rare-radio" name="rare-high" value="1" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="2" /><div class="rare-icon" data-rare-icon="2"></div><input type="radio" class="rare-radio" name="rare-high" value="2" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="3" /><div class="rare-icon" data-rare-icon="3"></div><input type="radio" class="rare-radio" name="rare-high" value="3" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="4" /><div class="rare-icon" data-rare-icon="4"></div><input type="radio" class="rare-radio" name="rare-high" value="4" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="5" /><div class="rare-icon" data-rare-icon="5"></div><input type="radio" class="rare-radio" name="rare-high" value="5" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="6" /><div class="rare-icon" data-rare-icon="6"></div><input type="radio" class="rare-radio" name="rare-high" value="6" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="7" /><div class="rare-icon" data-rare-icon="7"></div><input type="radio" class="rare-radio" name="rare-high" value="7" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="8" /><div class="rare-icon" data-rare-icon="8"></div><input type="radio" class="rare-radio" name="rare-high" value="8" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="9" /><div class="rare-icon" data-rare-icon="9"></div><input type="radio" class="rare-radio" name="rare-high" value="9" />
|
||||
<input type="radio" class="rare-radio" name="rare-low" value="10" /><div class="rare-icon" data-rare-icon="10"></div><input type="radio" class="rare-radio" name="rare-high" value="10" checked/>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="1" id="search-rare-1" checked /><label class="rare-icon" data-rare-icon="1" for="search-rare-1"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="2" id="search-rare-2" checked /><label class="rare-icon" data-rare-icon="2" for="search-rare-2"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="3" id="search-rare-3" checked /><label class="rare-icon" data-rare-icon="3" for="search-rare-3"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="4" id="search-rare-4" checked /><label class="rare-icon" data-rare-icon="4" for="search-rare-4"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="5" id="search-rare-5" checked /><label class="rare-icon" data-rare-icon="5" for="search-rare-5"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="6" id="search-rare-6" checked /><label class="rare-icon" data-rare-icon="6" for="search-rare-6"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="7" id="search-rare-7" checked /><label class="rare-icon" data-rare-icon="7" for="search-rare-7"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="8" id="search-rare-8" checked /><label class="rare-icon" data-rare-icon="8" for="search-rare-8"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="9" id="search-rare-9" checked /><label class="rare-icon" data-rare-icon="9" for="search-rare-9"></label>
|
||||
<input type="checkbox" class="rare-check" name="search-rare" value="10" id="search-rare-10" checked /><label class="rare-icon" data-rare-icon="10" for="search-rare-10"></label>
|
||||
</div>
|
||||
<button class="rare-clear brown-button"></button>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue