打开主菜单

少前百科GFwiki β

更改

Widget:Tdollquery2

添加6,846字节2023年7月23日 (日) 12:52
人形头像使用相对路径
<includeonly><style type="text/css">
.skin-minerva #TDollQuery {font-size: 0.9em;margin: 15px 0 !important;}
/* 紧凑模式 */
table#Tdolltable.cardMode > tbody {
display:flex;
flex-direction: row;
flex-wrap: wrap;
align-content: center;
justify-content: flex-start;
align-items: stretch;
background:transparent;
width:100%;
}
table#Tdolltable.cardMode thead {display:none}
table#Tdolltable.cardMode > tbody > tr {
flex: 1 1 310px;
grid-template-columns: 16.6% 16.6% 16.6% 16.6% 16.6% 1fr;
grid-template-rows: initial;
grid-template-areas: initial;
grid-auto-flow: row;
grid-auto-columns: initial;
grid-auto-rows: initial;
display: grid;
margin: 2px;
padding: 1px;
border: 2px double;
border-image: url(/images/vectorize_border/BORDER_BIG.svg);
border-image-slice: 10 fill;
border-image-width: 10px;
background-clip: content-box;
min-width:290px;
}
 
table#Tdolltable.cardMode > tbody > tr > td {
margin:1px;
border-width:0px !important;
display:flex;
flex-direction: column;
align-content: center;
align-items: center;
justify-content: center;
min-width:40px !important;
flex-wrap: nowrap;
max-width: none !important;
}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(1) {grid-column: 1/span 2;grid-row-start:1;}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(2) {grid-column: 1/span 2;grid-row-start:2;}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(3) {grid-column: 5/span 2;grid-row:1/span 2;}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(4) {grid-column: 3/span 2;grid-row:1/span 2;}
table#Tdolltable.cardMode > tbody > tr > td:nth-child(4) br {content:" ";display:none}
table#Tdolltable.cardMode > tbody > tr > td:nth-child(4)::before {content:"人形类别";font-weight:bold;color:#f4c430}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(5) {grid-column: auto/span 1;grid-row-start:span 1}
table#Tdolltable.cardMode > tbody > tr > td:nth-child(5)::before {content:"生命值";white-space:pre;font-weight:bold;color:#f4c430}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(6) {grid-column: auto/span 1;}
table#Tdolltable.cardMode > tbody > tr > td:nth-child(6)::before {content:"伤害\A";white-space:pre;font-weight:bold;color:#f4c430}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(7) {grid-column: auto/span 1;}
table#Tdolltable.cardMode > tbody > tr > td:nth-child(7)::before {content:"射速\A";white-space:pre;font-weight:bold;color:#f4c430}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(8) {grid-column: auto/span 1;}
table#Tdolltable.cardMode > tbody > tr > td:nth-child(8)::before {content:"命中\A";white-space:pre;font-weight:bold;color:#f4c430}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(9) {grid-column: auto/span 1;}
table#Tdolltable.cardMode > tbody > tr > td:nth-child(9)::before {content:"回避\A";white-space:pre;font-weight:bold;color:#f4c430}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(10) {grid-column: auto/span 1;}
table#Tdolltable.cardMode > tbody > tr > td:nth-child(10)::before {content:"护甲\A";white-space:pre;font-weight:bold;color:#f4c430}
table#Tdolltable > tbody > tr > td:nth-child(10):empty::after {content:"N/A"}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(11) {grid-column: auto/span 2;}
table#Tdolltable.cardMode > tbody > tr > td:nth-child(11)::before {content:"建造时间\A";white-space:pre;font-weight:bold;color:#f4c430}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(12) {grid-column: auto/span 4;min-height: 85px;}
table#Tdolltable.cardMode > tbody > tr > td:nth-child(12) div {margin:4px}
 
table#Tdolltable.cardMode > tbody > tr > td:nth-child(13) {grid-column: auto/span 6;min-height: 4rem;background-image: linear-gradient(315deg,transparent 4px, rgba(119,119,119,0.33) 5px);background-color: transparent !important;}
table#Tdolltable.cardMode > tbody > tr > td:nth-child(13)::before {content:"获得方式\A";white-space:pre;font-weight:bold;color:#f4c430}
 
/* 紧凑end */
.error {background-color: red;font-size: inherit;color: inherit;}
.skin-vector #buttonContainer div>label{min-width:118px}
}
div#buttonContainer button {
height: 25px;
padding: 0px 10px;
margin: 0px;
text-align: center;
}
 div#buttonContainer > div#TDollQuery { vertical-align:baseline; width:auto; display: inline-flexgrid; overflow:hidden;
transition: all 0.1s ease-in;
grid-template-columns: 1fr 75px 60px;
grid-column-gap:0.2rem;
margin: 0.5rem 0;
height: 30px;
}
 
div#TDollQuery input#inputQuery {
padding:0px; margin:0px; top:0px; border:0px solid; border-left:5px solid #eaeaea;
box-shadow: inset 0 0 5px black;
padding-left:5px10px;
transition: all 0.1s ease-in;
}
#miniTdolltable div.TDavatar {width:20%;height:20%}
}
#Tdolltable > tbody > tr > td.tiles > table div { margindisplay: grid;grid-inlinetemplate-startcolumns: 50% 1fr;width: auto100%;word-break: keep-all;}td.tiles table { margin-inline-end: auto;
border-spacing: 2px;
background: rgba(255, 255, 255, 0.33);
border: 0px;
width:55px;
}
.tilesTable td{padding:10px;}
<!--{if ($hideinput)==1}-->div#TDollQuery {display:none;}<!--{/if}-->
</style><div style="max-width: 63rem66rem;">
<div id="buttonContainer" style="margin: 2px;">
<span>[<a href="javascript:void(0);">全清</a>]</span>
</div>
<div class="divider div-transparent"></div>
<divid="obtainWays">
<button class="clearSelect">清除</button>
<button class="invertSelect">反选</button>
<label for="dropObtain" title="通常战役/战役S评价/常驻活动"><input type="checkbox" id="dropObtain" class="filter_item" /><div>常驻救援</div></label>
<label for="otherObtain" title="主线剧情/成就奖励"><input type="checkbox" id="otherObtain" class="filter_item" /><div>任务奖励</div></label>
<label for="specialObtain" title="限时战役/限时活动/限时商城/作战纲领/签到奖励/密钥活动"><input type="checkbox" id="specialObtain" class="filter_item" /><div>限时活动</div></label> <label for="unableObtain" title="无法获取"><input type="checkbox" id="unableObtain" class="filter_item" /><div>无法获取</div></label>
</div>
<div class="divider div-transparent"></div>
<label for="nonDGMindupgraded"><input type="checkbox" id="nonDGMindupgraded" class="filter_item" /><div>普通人形</div></label>
</div>
<div id="TDollQuery"><input type="text" placeholder="输入枪名" id="inputQuery"/><button title="输入【t:HHMM】,只输入小时与分钟,无需空格" type="button" onclick="clearItemfocusTime();apply_filter();">搜索时间</button><button id="clearInput" type="button">清除</button></div> <div>
<div style="float:right;clear: right;">
<label for="MOD3DatatableMode"><input type="checkboxradio" id="MOD3DatatableMode" data-freeze="true" class="filter_item" name="showType" checked/><div>表格模式</div></label> <label for="truecardMode"><input type="radio" id="cardMode" data-freeze="true" class="filter_item" name="showType" /><div>显示MOD3数据卡片模式</div></label> <label for="iconOnly"><input type="checkboxradio" id="iconOnly" data-freeze="true" class="filter_item" name="showType" /><div>精简模式</div></label>
</div>
<label for="MOD3Data"><input type="checkbox" id="MOD3Data" checked="true" data-freeze="true" class="filter_item" /><div>显示MOD3数据</div></label>
</div>
 
</div>
<label><input type="radio" id="sortProtime" name="sort"><div>建造时间</div></label>
</div>
<div id="page-info-div" style="display: block;position: relative;"><a idclass="PrevPage" href="javascript:void(0);" style="visibility: hidden;float: left;">◀上一页</a><span id="per-page-span">每页<select idclass="per-page" style="background: white;"><option>50</option><option>100</option><option>200</option><option>500</option></select></span><span idclass="resultBox" style="position: absolute;width: 100%;text-align: center;left: 0px;pointer-events: none;">数据载入中,请稍后</span><span style="position:absolute;right:16%;">第<select idclass="cur-page" style="background: white;"></select>页</span><a idclass="NextPage" href="javascript:void(0);" style="visibility: visible;float: right;">下一页▶</a></div>
<div id="position-marker"></div>
<div id="page-info-div" style="display: block;position: relative;"><a class="PrevPage" href="javascript:void(0);" style="visibility: hidden;float: left;">◀上一页</a>
<span id="per-page-span">每页<select class="per-page" style="background: white;"><option>50</option><option>100</option><option>200</option><option>500</option></select></span>
<span class="resultBox" style="position: absolute;width: 100%;text-align: center;left: 0px;pointer-events: none;">数据载入中,请稍后</span>
<span style="position:absolute;right:16%;">第<select class="cur-page" style="background: white;"></select>页</span>
<a class="NextPage" href="javascript:void(0);" style="visibility: visible;float: right;">下一页▶</a></div>
</div><BR><script type="text/javascript">(window.RLQ=window.RLQ||[]).push(function(){
window.DollsData = new Array; $(".dolldata").each( function (index, element){ var o = new Object(); for (var k in element.dataset){ if(k!="artist"){o[k] = element.dataset[k]} } window.DollsData.push(o); element.remove(); })//获取数据
 
 
var pushlist=new Array();
var inputer = document.getElementById("buttonContainer").getElementsByTagName("input")
var baseurl = "\/w\/TDL"
 
const typeIcons = {'手枪': 'd/dd', '冲锋枪': 'b/b4', '步枪': '2/25', '突击步枪': 'b/b5', '机枪': 'b/b4', '霰弹枪': '9/99'};
var debounce = function(idle, action){ //去抖函数 文本框使用
var sortType=new Object();
sortType.sortId=function (a,b){return sortOrder*(a.id - b.id)}
sortType.sortRarity=function (a,b){if (return a[mod_key("rarity",a)] != b[mod_key("rarity",b)]){return ?sortOrder*(a[mod_key("rarity",a)] - b[mod_key("rarity",b)])};return :sortType.sortId(a,b)}sortType.sortReldate=function (a,b){if (return a.timeStamp != b.timeStamp){return ?sortOrder*(a.timeStamp - b.timeStamp)};return :sortType.sortId(a,b)}sortType.sortAtk=function (a,b){if (return a[mod_key("Atk",a)] != b[mod_key("Atk",b)]) {return ?sortOrder*(a[mod_key("Atk",a)] - b[mod_key("Atk",b)])};return :sortType.sortRarity(a,b)};sortType.sortHp=function (a,b){if (return a[mod_key("Hp",a)] != b[mod_key("Hp",b)]) {return ?sortOrder*(a[mod_key("Hp",a)] - b[mod_key("Hp",b)])};return :sortType.sortRarity(a,b)}sortType.sortEva=function (a,b){if (return a[mod_key("Eva",a)] != b[mod_key("Eva",b)]) {return ?sortOrder*(a[mod_key("Eva",a)] - b[mod_key("Eva",b)])};return :sortType.sortRarity(a,b)}sortType.sortAcc=function (a,b){if (return a[mod_key("Acc",a)] != b[mod_key("Acc",b)]) {return ?sortOrder*(a[mod_key("Acc",a)] - b[mod_key("Acc",b)])};return :sortType.sortRarity(a,b)};sortType.sortArmor=function (a,b){if return a[mod_key("Armor",a)]||b[mod_key("Armor",b)]?a[mod_key("Armor",a)]?b[mod_key("Armor",b)]?a[mod_key("Armor",a)] != b[mod_key("Armor",b)]) {return ?sortOrder*(a[mod_key("Armor",a)] - b[mod_key("Armor",b)])};return :sortType.sortRarity(a,b):-1:1:0};sortType.sortRate=function (a,b){if (return a[mod_key("Rate",a)] != b[mod_key("Rate",b)]) {return ?sortOrder*(a[mod_key("Rate",a)] - b[mod_key("Rate",b)])};return :sortType.sortRarity(a,b)};sortType.sortProtime=function (a,b){if (return a.productionTime=="N/A"&&b.productionTime=="N/A"?0:a.productionTime=="N/A"?1:b.productionTime=="N/A"?-1:a.productionTime != b.productionTime){return ?sortOrder*(a.productionTime > b.productionTime?1:-1)};return :sortType.sortRarity(a,b)}
function sortStatusChange(obj){
if(document.getElementById("section_0")){//判断是否为移动前端
document.getElementById("iconOnlycardMode").checked = true;}
sortList.sort(function(a,b){if(b.timeStamp != a.timeStamp){return b.timeStamp - a.timeStamp};return b.id - a.id})
apply_filter();
};}
var pages;
switch($('#.per-page')[0].prop("selectedIndex")){
case 0:pages = Math.ceil(pushlist.length/50);break;
case 1:pages = Math.ceil(pushlist.length/100);break;
case 3:pages = Math.ceil(pushlist.length/500);break;
}
if (pages == 1) {$("#.PrevPage,#.NextPage").css('visibility',"hidden")}else{$("#.PrevPage").css('visibility',"hidden");$("#.NextPage").css('visibility',"visible")} if(pages != 0){$("#.cur-page option").remove();for (var i = 0; i < pages; i++) {$('#.cur-page').append(`\<option\>${i+1}\<\/option\>`)};}else{$("#.cur-page option").remove();$('#.cur-page').append(`\<option\>1\<\/option\>`);}
// $('.cur-page option')[0].selected = true; let opts = $('#.cur-page option'); let len = opts.length; opts[0].selected = true; opts[len/2].selected = true; document.getElementById$(".resultBox").innerHTML = text(`共${pushlist.length}个`);
if (pushlist.length == 0) {$("#position-marker").html(emptydiv);return pushlist}
page_switch();
var splitList = new Array();
var len;
switch($('#.per-page')[0].prop("selectedIndex")){
case 0:len=50;break;
case 1:len=100;break;
case 3:len=500;break;
}
var cPage = $("#.cur-page")[0].prop("selectedIndex");
for (var i = 0; i < len; i++) {
if(!pushlist[i+cPage*len]){break}else{splitList.push(pushlist[i+cPage*len])}
}
parse_list(splitList); //console.log(splitListwindow.DollsData.filter(function(e){return pushlist.indexOf(e)==-1}))
}
function change_page(obj){
var cSel = $("#.cur-page")[0].prop("selectedIndex"); if(obj.idclassName=="NextPage"){cSel++}else if(obj.idclassName=="PrevPage"){cSel--} let len = $(".cur-page option").length; $("#.cur-page option")[cSel].selected = true; var cLen = $("#.cur-page option")[cSel+len/2].lengthselected = true; var cLen = len/2-1;
switch(cSel){
case 0:$("#.PrevPage").css('visibility',"hidden");$("#.NextPage").css('visibility',"visible");break; case cLen:$("#.PrevPage").css('visibility',"visible");$("#.NextPage").css('visibility',"hidden");break; default:$("#.PrevPage,#.NextPage").css('visibility',"visible");break;
}
page_switch();
}
$("#.PrevPage,#.NextPage").on("click",function(){change_page(this)});$("#.cur-page").on("change",function(){$(".cur-page").prop("selectedIndex", this.selectedIndex);change_page(this)});$("#.per-page").on("change",function(){$(".per-page").prop("selectedIndex", this.selectedIndex);apply_filter()});
function debug_marker(key,data){
if (ministat.checked==true){//小图标模式
for (var i in pushdata) {
let avatarurl = new URL(pushdata[i][mod_key('avatar', pushdata[i])]);
if(mod_key("mod",pushdata[i])){var url_hash = pushdata[i].url+"#MOD3"}else{var url_hash = pushdata[i].url}
var line = `\<div class\="TDavatar rare${pushdata[i][mod_key("rarity",pushdata[i])]}" style=""\>\<a href\="${url_hash}" title="${pushdata[i].nameIngame}"\>\<img alt="${pushdata[i].nameIngame}" src="${pushdata[i][mod_key("avatar",pushdata[i])]avatarurl.pathname}" width="100" height="100" \>\<\/a\>\<\/div\>`
htmlLine += line;
}
} else {// 表格模式
for (var i in pushdata) {
let avatarurl = new URL(pushdata[i][mod_key('avatar', pushdata[i])]);
if(mod_key("mod",pushdata[i])){var tileCond = tileDiff(pushdata[i])}else{var tileCond = pushdata[i].tiles.split(",")};
if(!pushdata[i].tileEffect2){var tile_effects = `${pushdata[i].tileEffect1} \+${pushdata[i][mod_key("Effect1",pushdata[i])]}`}else{var tile_effects = `${pushdata[i].tileEffect1} \+${pushdata[i][mod_key("Effect1",pushdata[i])]}<BR>${pushdata[i].tileEffect2} \+${pushdata[i][mod_key("Effect2",pushdata[i])]}`}
<td>No.${pushdata[i].id}<\/td>
<td><b><a href="${url_hash}" title="${pushdata[i].nameIngame}">${pushdata[i].nameIngame}<\/a><\/b><\/td>
<td ${debug_marker("e3",pushdata[i])}><div class="TDavatar rare${pushdata[i][mod_key("rarity",pushdata[i])]}"><a href="${url_hash}" title="${pushdata[i].nameIngame}"><img alt="${pushdata[i].nameIngame}" src="${pushdata[i][mod_key("avatar",pushdata[i])]avatarurl.pathname}" width="100" height="100"><\/a><\/div><\/td><td><a href="#${pushdata[i].tdollClass}" title="点击筛选${pushdata[i].type}人形"><img alt="点击筛选${pushdata[i].type}人形" src="/images/${typeIcons[pushdata[i].type]}/图标-${pushdata[i].typeImgtype}.png" width="48" height="27"><\/a><br>${pushdata[i].type}<\/td>
<td ${debug_marker("e5",pushdata[i])}>${pushdata[i][mod_key("Hp",pushdata[i])]}<br>(${pushdata[i][mod_key("Hp",pushdata[i])] * 5})<\/td><td ${debug_marker("e6",pushdata[i])}>${pushdata[i][mod_key("Atk",pushdata[i])]}<\/td><td ${debug_marker("e7",pushdata[i])}>${pushdata[i][mod_key("Rate",pushdata[i])]}<\/td><td ${debug_marker("e8",pushdata[i])}>${pushdata[i][mod_key("Acc",pushdata[i])]}<\/td><td ${debug_marker("e9",pushdata[i])}>${pushdata[i][mod_key("Eva",pushdata[i])]}<\/td><td ${debug_marker("e10",pushdata[i])}>${pushdata[i][mod_key("Armor",pushdata[i])]}<\/td><td ${debug_marker("e11",pushdata[i])}>${pushdata[i].productionTime}
<\/td><td class="tiles"${debug_marker("e13",pushdata[i])}><div><div>${pushdata[i][mod_key("affect",pushdata[i])]}<br>${tile_effects}<\/div><table class="tilesTable"><tbody>
<tr><td class="color${tileCond[0]}"><\/td><td class="color${tileCond[1]}"><\/td><td class="color${tileCond[2]}"><\/td><\/tr>
<tr><td class="color${tileCond[3]}"><\/td><td class="color${tileCond[4]}"><\/td><td class="color${tileCond[5]}"><\/td><\/tr>
<tr><td class="color${tileCond[6]}"><\/td><td class="color${tileCond[7]}"><\/td><td class="color${tileCond[8]}"><\/td><\/tr><\/tbody><\/table><\/tddiv><td ${debug_marker("e13",pushdata[i])}>${tile_effects}<\/td><td>${pushdata[i][mod_key("skill",pushdata[i])].obtainMethod}<\/td><\/tr>`
htmlLine += line;
}
output = `<table id="Tdolltable" class="stattable logo${document.querySelector("#cardMode").checked?" cardMode":""}" style="text-align:center;mid-width:300px;width:100%"> <thead><tr><th style="width: 44px;min-width: 44px;">编号<\/th><th style="width: 70px;min-width: 70px;">枪名<\/th><th style="width: 50px;min-width: 50px;">头像<br>(稀有度)<\/th><th style="width: 50px;min-width: 50px;">枪种<\/th><th>生命<br>(5编制)<\/th><th>伤害<\/th><th>射速<\/th><th>命中<\/th><th>回避<\/th><th>护甲<\/th><th>建造时间<\/th><th>影响格&<br>有效枪种<\/th><th>影响效果影响格&有效枪种&影响效果<br>(5编制)<\/th><th style="width: 90px130px;min-width: 90px130px;">技能获得方式<\/th><\/tr><\/thead>
<tbody>${htmlLine}<\/tbody>
<\/table>`
$('.clearSelect').on("click",function(){clearSelect(this)});
$('.invertSelect').on("click",function(){invertSelect(this)});
$('#TDollQuery button#clearInput').on("click",function(){clearItem();apply_filter();});
$('#buttonContainer>span>a').on("click",function(){var tilesArea = document.querySelectorAll("#effectarea td");var tilesSelf = document.querySelectorAll("#selfpos td");for(var i in tilesArea){tilesArea[i].className=""};for(var i in tilesSelf){tilesSelf[i].className="active"};clearSelect(this.parentNode)})
$('#MOD3Data').on("click",function(){rarityDisable(this);apply_filter();})
}
}
function timeS2S(tStr){return Date.parse("1970-1-1 "+tStr+" GMT")}
function text_check(query){ //文本输入框判断(现仅实现判断枪名)
if (!inputText){return true};
var prefet = inputText.value.substr(inputText.value.indexOf("t:")+2,4); if(inputText.value.indexOf("t:")==0&&query.productionTime.split(":").length>1&&prefet.length>1){ var time = prefet+":00"; time=time.slice(0,time.indexOf(":")-2)+":"+time.slice(time.indexOf(":")-2) time.indexOf(":")==0?time="0"+time:time; var a = Math.abs(timeS2S(query.productionTime)-timeS2S(time))<60000; }else{ var a = new RegExp(inputText.value,"i").test(query.nameIngame); }
if (a) {
return true
function tileAffect_check(query){ //影响格对象判断
var affectText = query[mod_key("affect",query)].split('/');
var keyword = {MGaff:"机枪",RFaff:"步枪",ARaff:"突击步枪",HGaff:"手枪",SGaff:"霰弹枪",SMGaff:"冲锋枪",ALLaff:"所有枪种全体"};
var taCheck = new Array();
var taNum = 0;
}
function obtainMethod_check(query){ //获取方式
var checkStat = []; checkStat.push(document.getElementById('buildObtain'),document.getElementByIdquerySelectorAll('dropObtain'),document.getElementById('otherObtain'),document.getElementById('specialObtain')"#obtainWays input");
var j = 0;var k = 0;
for (var i = 0;i<checkStat.length;i++){if(checkStat[i].checked==true){if(checkMethod(checkStat[i].labels[0].innerTexttitle,query.obtainMethod)){j++}}else{k++}} if(j>0||k==4checkStat.length){return true}else{return false}
}
}
})function focusTime(){ var a = document.querySelector("#inputQuery"); a.value="t:(四位时间)"; a.focus() a.setSelectionRange(2, a.value.length)} </script></includeonly>