◆少前百科是非盈利性、非官方的少女前线维基百科。 ◆如果您发现某些内容错误/空缺,请勇于修正/添加!参与进来其实很容易!点这里 加入少前百科。 ◆有任何意见、建议、纠错,欢迎在 GFwiki:反馈与建议 提出和讨论。编辑事务讨论QQ群:597764980,微博@GFwiki少前百科 ◆To foreigners,You can use twitter to contact us. |
“Widget:SkinQuery/js”的版本间的差异
(fix bug) |
(update page) |
||
第1行: | 第1行: | ||
<includeonly><script type="text/javascript">(window.RLQ=window.RLQ||[]).push(function(){ | <includeonly><script type="text/javascript">(window.RLQ=window.RLQ||[]).push(function(){ | ||
var suitElement = document.querySelectorAll('.suitdata'); | var suitElement = document.querySelectorAll('.suitdata'); | ||
+ | var htmlPageSave = []; // for page 1, 2, 3…… | ||
+ | |||
creat_select(); | creat_select(); | ||
creat_suit(); | creat_suit(); | ||
第39行: | 第41行: | ||
<div class="skinbtn" id="5card" state="1">5<span class="btntext">黑卡<\/span><\/div> | <div class="skinbtn" id="5card" state="1">5<span class="btntext">黑卡<\/span><\/div> | ||
<div class="skinbtn" id="8card" state="1">8<span class="btntext">黑卡<\/span><\/div> | <div class="skinbtn" id="8card" state="1">8<span class="btntext">黑卡<\/span><\/div> | ||
− | <div class="skinbtn" id="xcard" state="1"><span class="btntext"> | + | <div class="skinbtn" id="xcard" state="1"><span class="btntext">黑卡无效<\/span><\/div> |
<\/div><br/> | <\/div><br/> | ||
<div class="skinbtnbox"> | <div class="skinbtnbox"> | ||
第53行: | 第55行: | ||
<div class="skinsecall">全选<\/div> | <div class="skinsecall">全选<\/div> | ||
<div class="skinclear">清空<\/div> | <div class="skinclear">清空<\/div> | ||
− | <div class="skinbtn" id="diamond1" state="1" style="width: 120px;">388 ~ | + | <div class="skinbtn" id="diamond1" state="1" style="width: 120px;">388 ~ 999<span class="btntext">钻石<\/span><\/div> |
<div class="skinbtn" id="diamond2" state="1" style="width: 120px;">1280 ~ 1699<span class="btntext">钻石<\/span><\/div> | <div class="skinbtn" id="diamond2" state="1" style="width: 120px;">1280 ~ 1699<span class="btntext">钻石<\/span><\/div> | ||
<div class="skinbtn" id="diamond3" state="1" style="width: 120px;">1888 ~ 1999<span class="btntext">钻石<\/span><\/div> | <div class="skinbtn" id="diamond3" state="1" style="width: 120px;">1888 ~ 1999<span class="btntext">钻石<\/span><\/div> | ||
第59行: | 第61行: | ||
<\/div><br/> | <\/div><br/> | ||
<\/div> | <\/div> | ||
− | + | ||
− | <div id="displaydiv"><\/div>`; | + | <table class="pageControl"><tr><td class="pagePrev">◀ PREV<\/td><td class="pageNumberDiv"><\/td><td class="pageNext">NEXT ▶<\/td><\/tr><\/table> |
+ | <div id="displaydiv"><\/div> | ||
+ | <table class="pageControl"><tr><td class="pagePrev">◀ PREV<\/td><td class="pageNumberDiv"><\/td><td class="pageNext">NEXT ▶<\/td><\/tr><\/table>`; | ||
$("#mw-content-text").append(html_text); | $("#mw-content-text").append(html_text); | ||
第134行: | 第138行: | ||
if(this_element) for(let i = 0; i < this_element.length; i ++ ) if($(this_element[i]).attr("state") == 1) $(this_element[i]).click(); | if(this_element) for(let i = 0; i < this_element.length; i ++ ) if($(this_element[i]).attr("state") == 1) $(this_element[i]).click(); | ||
if(next_element) for(let i = 0; i < next_element.length; i ++ ) if($(next_element[i]).attr("state") == 1) $(next_element[i]).click(); | if(next_element) for(let i = 0; i < next_element.length; i ++ ) if($(next_element[i]).attr("state") == 1) $(next_element[i]).click(); | ||
+ | }); | ||
+ | |||
+ | $(".pagePrev").click(function(){ | ||
+ | let pageLength = $(".pageNumber").length / 2; | ||
+ | let num = Number($($(".pageChosen")[0]).attr("pageIndex")); | ||
+ | if(num > 0) $("[pageIndex='" + String(num - 1) + "']").click(); | ||
+ | else $("[pageIndex='" + String(pageLength - 1) + "']").click(); | ||
+ | }); | ||
+ | $(".pageNext").click(function(){ | ||
+ | let pageLength = $(".pageNumber").length / 2; | ||
+ | let num = Number($($(".pageChosen")[0]).attr("pageIndex")); | ||
+ | if(num < pageLength - 1) $("[pageIndex='" + String(num + 1) + "']").click(); | ||
+ | else $("[pageIndex='0']").click(); | ||
}); | }); | ||
} | } | ||
第154行: | 第171行: | ||
let _5card_state = $("#5card").attr("state"); | let _5card_state = $("#5card").attr("state"); | ||
let _8card_state = $("#8card").attr("state"); | let _8card_state = $("#8card").attr("state"); | ||
+ | let _xcard_state = $("#xcard").attr("state"); | ||
let _600change_state = $("#600change").attr("state"); | let _600change_state = $("#600change").attr("state"); | ||
let _200change_state = $("#200change").attr("state"); | let _200change_state = $("#200change").attr("state"); | ||
第166行: | 第184行: | ||
let _displaydiv_width = Number($("#displaydiv").width()); | let _displaydiv_width = Number($("#displaydiv").width()); | ||
− | let _br_num = (_displaydiv_width / | + | let _br_num = Math.floor((_displaydiv_width - 120) / 148); |
− | let | + | let skinArray = []; |
− | |||
− | |||
for(let i = 0; i < suitElement.length; i++){ | for(let i = 0; i < suitElement.length; i++){ | ||
第210行: | 第226行: | ||
if(this_card == "5" && _5card_state == "0") continue; | if(this_card == "5" && _5card_state == "0") continue; | ||
if(this_card == "8" && _8card_state == "0") continue; | if(this_card == "8" && _8card_state == "0") continue; | ||
+ | if(this_card == "0" && _xcard_state == "0") continue; | ||
let this_type = $(suitElement[i]).attr("data-gain" + String(j)); | let this_type = $(suitElement[i]).attr("data-gain" + String(j)); | ||
第220行: | 第237行: | ||
this_item = Number(this_item); | this_item = Number(this_item); | ||
− | if(this_type == "钻石" && Number(this_item) >= 388 && Number(this_item) <= | + | if(this_type == "钻石" && Number(this_item) >= 388 && Number(this_item) <= 999 && _diamond1_state == "0") continue; |
if(this_type == "钻石" && Number(this_item) >= 1280 && Number(this_item) <= 1699 && _diamond2_state == "0") continue; | if(this_type == "钻石" && Number(this_item) >= 1280 && Number(this_item) <= 1699 && _diamond2_state == "0") continue; | ||
if(this_type == "钻石" && Number(this_item) >= 1888 && Number(this_item) <= 1999 && _diamond3_state == "0") continue; | if(this_type == "钻石" && Number(this_item) >= 1888 && Number(this_item) <= 1999 && _diamond3_state == "0") continue; | ||
if(this_type == "钻石" && Number(this_item) >= 2180 && Number(this_item) <= 2588 && _diamond4_state == "0") continue; | if(this_type == "钻石" && Number(this_item) >= 2180 && Number(this_item) <= 2588 && _diamond4_state == "0") continue; | ||
− | + | skinArray.push({'suit':i, 'skin':j}); | |
− | + | } | |
− | + | } | |
− | |||
− | |||
− | + | let skinMax = 5 * _br_num; | |
− | + | $(".pageNumberDiv").children().remove(); | |
− | + | for(let i = 0; i < Math.ceil(skinArray.length / skinMax); i++){ | |
− | + | let div_html = `<div class="pageNumber" pageIndex="${i}">${i + 1}<\/div>`; | |
− | + | $(".pageNumberDiv").append(div_html); | |
− | + | } | |
− | + | creat_pageClick(); | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | htmlPageSave = []; | ||
+ | let html_text = ``; | ||
+ | for(let num = 0; num < skinArray.length; num ++){ | ||
+ | if((num % _br_num) == 0 && num != 0) html_text += `<br\/>`; | ||
+ | html_text += creat_card(skinArray[num].suit, skinArray[num].skin); | ||
+ | |||
+ | if(num % skinMax == skinMax - 1){ | ||
+ | htmlPageSave.push(html_text); | ||
+ | html_text = ``; | ||
+ | } else if(num == skinArray.length - 1){ | ||
+ | htmlPageSave.push(html_text); | ||
} | } | ||
} | } | ||
− | $("#displaydiv").html( | + | if(htmlPageSave.length) $($(".pageNumber")[0]).click(); |
+ | else $("#displaydiv").html(""); | ||
} | } | ||
第288行: | 第283行: | ||
let _month0_state = $("#month0").attr("state"); | let _month0_state = $("#month0").attr("state"); | ||
− | + | let suitArray = []; | |
for(let i = 0; i < suitElement.length; i++){ | for(let i = 0; i < suitElement.length; i++){ | ||
第315行: | 第310行: | ||
} | } | ||
+ | suitArray.push(i); | ||
+ | } | ||
+ | |||
+ | let suitMax = 7; | ||
+ | $(".pageNumberDiv").children().remove(); | ||
+ | for(let i = 0; i < Math.ceil(suitArray.length / suitMax); i++){ | ||
+ | let div_html = `<div class="pageNumber" pageIndex="${i}">${i + 1}<\/div>`; | ||
+ | $(".pageNumberDiv").append(div_html); | ||
+ | } | ||
+ | creat_pageClick(); | ||
+ | |||
+ | htmlPageSave = []; | ||
+ | var html_text = ``; | ||
+ | for(let num = 0; num < suitArray.length; num++){ | ||
+ | let i = suitArray[num]; | ||
html_text += `<div class="onesuit"><a class="suitname" href="http://www.gfwiki.org/w/` + $(suitElement[i]).attr("data-suitlink") + `">`; | html_text += `<div class="onesuit"><a class="suitname" href="http://www.gfwiki.org/w/` + $(suitElement[i]).attr("data-suitlink") + `">`; | ||
html_text += `[` + $(suitElement[i]).attr("data-suitname") + `]<span class="suittime">`; | html_text += `[` + $(suitElement[i]).attr("data-suitname") + `]<span class="suittime">`; | ||
第323行: | 第333行: | ||
for(let j = 0 ; j < 12; j++){ | for(let j = 0 ; j < 12; j++){ | ||
if(!$(suitElement[i]).attr("data-num" + String(j))) continue; | if(!$(suitElement[i]).attr("data-num" + String(j))) continue; | ||
+ | html_text += creat_card(i, j); | ||
+ | } | ||
+ | html_text += `<\/div>`; | ||
+ | |||
+ | if(num % suitMax == suitMax - 1){ | ||
+ | htmlPageSave.push(html_text); | ||
+ | html_text = ``; | ||
+ | } else if(num == suitArray.length - 1){ | ||
+ | htmlPageSave.push(html_text); | ||
+ | } | ||
+ | } | ||
− | + | if(htmlPageSave.length) $($(".pageNumber")[0]).click(); | |
− | + | else $("#displaydiv").html(""); | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | + | function creat_card(i, j){ | |
− | + | let bcard_class = "cardgrey"; | |
− | + | switch($(suitElement[i]).attr("data-bcard" + String(j))){ | |
− | + | case "3" : bcard_class = "cardblue"; break; | |
− | + | case "5" : bcard_class = "cardgreen"; break; | |
− | + | case "8" : bcard_class = "cardorange"; break; | |
− | + | default : bcard_class = "cardgrey"; | |
− | + | } | |
− | |||
− | |||
− | + | let item_class = "itemgrey"; | |
− | + | let gain_text = `<div class="skingain `; | |
− | + | let item_text = $(suitElement[i]).attr("data-item" + String(j)); | |
− | + | switch($(suitElement[i]).attr("data-gain" + String(j))){ | |
− | + | case "采购" : gain_text += `itemwhite">兑换券<\/div>`; item_class = "itemwhite"; break; | |
− | + | case "钻石" : gain_text += `itemblue">钻石<\/div>`; item_class = "itemblue"; break; | |
+ | case "RMB" : gain_text += `itemred">RMB<\/div>`; item_class = "itemred"; break; | ||
+ | case "其他" : gain_text += `itemgrey">其他<\/div>`; item_class = "itemgrey"; break; | ||
+ | default : gain_text += `itemgrey">error<\/div>`; | ||
+ | } | ||
− | + | let anime_text = ""; | |
− | + | switch($(suitElement[i]).attr("data-anime" + String(j))){ | |
− | + | case "Live2D" : anime_text = `Live2D`; break; | |
− | + | case "Animated" : anime_text = `Animated`; break; | |
− | + | default : anime_text = ""; break; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
− | $(" | + | let card_text = `<div class="oneskin ` + bcard_class + `"> |
+ | <div class="skinpicndiv" data-pica="${$(suitElement[i]).attr("data-pica" + String(j))}" data-picb="${$(suitElement[i]).attr("data-picb" + String(j))}"> | ||
+ | <img class="skinpicn" src="` + $(suitElement[i]).attr("data-picn" + String(j)) + `" /><\/div> | ||
+ | <div class="skintext"> | ||
+ | <div class="skindolllink" data-dollname="${$(suitElement[i]).attr("data-doll" + String(j))}"> | ||
+ | <div class="skindoll">` + $(suitElement[i]).attr("data-doll" + String(j)) + `<\/div> | ||
+ | <div class="skinname">` + $(suitElement[i]).attr("data-name" + String(j)) + `<\/div> | ||
+ | <\/div> | ||
+ | <div class="skinbcard">` + $(suitElement[i]).attr("data-bcard" + String(j)) + `<\/div> | ||
+ | ` + gain_text + ` | ||
+ | <div class="skinitem ` + item_class + `">` + item_text + `<\/div> | ||
+ | ` + ((anime_text) ? `<div class="skinanime">` + anime_text + `<\/div>` : ``) + ` | ||
+ | <\/div> | ||
+ | <\/div>`; | ||
+ | |||
+ | return card_text; | ||
} | } | ||
第443行: | 第466行: | ||
$("#skinalbumclose").click(function(){ | $("#skinalbumclose").click(function(){ | ||
$("#skinalbum").fadeOut(300); | $("#skinalbum").fadeOut(300); | ||
+ | }); | ||
+ | } | ||
+ | |||
+ | function creat_pageClick(){ | ||
+ | $(".pageNumber").click(function(){ | ||
+ | let num = Number($(this).attr("pageIndex")) + 1; | ||
+ | |||
+ | $(".pageNumber").removeClass("pageChosen"); | ||
+ | $("[pageIndex='" + String(num - 1) + "']").addClass("pageChosen"); | ||
+ | |||
+ | $("#displaydiv").stop().fadeOut(200); | ||
+ | setTimeout(function(){ | ||
+ | $("#displaydiv").html(htmlPageSave[num - 1]); | ||
+ | creat_anime(); | ||
+ | creat_click(); | ||
+ | $("#displaydiv").stop().fadeIn(200); | ||
+ | }, 190); | ||
}); | }); | ||
} | } |