◆少前百科是非盈利性、非官方的少女前线维基百科。
◆如果您发现某些内容错误/空缺,请勇于修正/添加!参与进来其实很容易!点这里 加入少前百科
◆有任何意见、建议、纠错,欢迎在 GFwiki:反馈与建议 提出和讨论。编辑事务讨论QQ群:597764980,微博@GFwiki少前百科
◆To foreigners,You can use twitter to contact us.
Icon Nyto Silver.png

“Widget:Equipquery”的版本间的差异

来自少前百科GFwiki
跳转至: 导航搜索
(测试)
(测试)
第355行: 第355行:
 
</div>
 
</div>
 
<div id="position-marker"></div>
 
<div id="position-marker"></div>
</div></div><BR></includeonly>
+
</div></div><BR>
 +
<script>
 +
var equipElement = document.querySelectorAll('.equipdata');
 +
var equipTarget = new Array(1000);
 +
for (var k = 0; k < 1000; k++) { equipTarget[k] = 0; }
 +
 
 +
/* HG:0 SMG:1 AR:2 RF:3 MG:4 SG:5 */
 +
var gunDollStr = ["HG", "SMG", "AR", "RF", "MG", "SG"];
 +
/* 光学瞄具:6 全息瞄具:7 红点瞄具:8 夜战装备:9 消音器:10 特殊:11 */
 +
var gunType1Str = ["光学瞄具", "全息瞄具", "红点瞄具", "夜战装备", "消音器", "特殊"];
 +
/* 状态弹:12 穿甲弹:13 高速弹:14 霰弹:15 特殊:16 */
 +
var gunType2Str = ["状态弹", "穿甲弹", "高速弹", "霰弹", "特殊"];
 +
/* 外骨骼:17 伪装披风:18 防弹插板:19 弹链箱:20 芯片:21 特殊:22 */
 +
var gunType3Str = ["外骨骼", "伪装披风", "防弹插板", "弹链箱", "芯片", "特殊"];
 +
/* 光学瞄具:23 全息瞄具:24 红点瞄具:25 夜战装备:26 消音器:27 特殊:28 */
 +
var gunGetStr = ["主线战役", "常驻活动", "限时活动", "心智升级", "黑市商店"];
 +
 
 +
var equipCheckbox = document.querySelectorAll('input');
 +
for (var i = 0; i < equipCheckbox.length; i++) {
 +
    equipCheckbox[i].addEventListener('click', reloadEquip);
 +
}
 +
 
 +
function reloadEquip() {    //重新加载
 +
    for (var k = 0; k < 1000; k++) { equipTarget[k] = 0; }
 +
    for (var i = 0; i < equipElement.length; i++) {
 +
        checkGunDollStr(i);
 +
    }
 +
    revealEquip();
 +
}
 +
 
 +
function checkGunDollStr(i) {  //装备枪种
 +
    for (var j = 0; j < gunDollStr.length; j++) {
 +
        if (equipCheckbox[j].checked == false) continue;
 +
        if (gunDollStr[j] == equipElement[i].getAttribute('data-equip-dolltype')) {
 +
            checkGunTypeStr(i);
 +
            return;
 +
        }
 +
    }
 +
}
 +
 
 +
function checkGunTypeStr(i) {  //装备种类
 +
    var equipClass1 = equipElement[i].getAttribute('data-equip-class1');
 +
    var equipClass2 = equipElement[i].getAttribute('data-equip-class2');
 +
    for (var j = 0; j < gunType1Str.length; j++) {
 +
        if (equipCheckbox[j + gunDollStr.length].checked == false) continue;
 +
        if (equipClass1 == "配件" && equipClass2 == gunType1Str[j]) {
 +
            checkGunGetStr(i);
 +
            return;
 +
        }
 +
    }
 +
    for (var j = 0; j < gunType2Str.length; j++) {
 +
        if (equipCheckbox[j + gunDollStr.length + gunType1Str.length].checked == false) continue;
 +
        if (equipClass1 == "弹匣" && equipClass2 == gunType2Str[j]) {
 +
            checkGunGetStr(i);
 +
            return;
 +
        }
 +
    }
 +
    for (var j = 0; j < gunType3Str.length; j++) {
 +
        if (equipCheckbox[j + gunDollStr.length + gunType1Str.length + gunType2Str.length].checked == false) continue;
 +
        if (equipClass1 == "人形" && equipClass2 == gunType3Str[j]) {
 +
            checkGunGetStr(i);
 +
            return;
 +
        }
 +
    }
 +
}
 +
 
 +
function checkGunGetStr(i) {    //获得途径
 +
    for (var j = 0; j < gunGetStr.length; j++) {
 +
        if (equipCheckbox[j + gunDollStr.length + gunType1Str.length + gunType2Str.length + gunType3Str.length].checked == false) continue;
 +
        if (equipElement[i].getAttribute('data-obtain') == gunGetStr[j]) {
 +
            equipPrep(i);
 +
            return;
 +
        }
 +
    }
 +
}
 +
 
 +
function equipPrep(i) {    //输出准备
 +
    for (var j = 0; j < 1000; j++) {
 +
        if (equipTarget[j] == 0) { equipTarget[j] = i; return; }
 +
    }
 +
}
 +
 
 +
var positionT = document.querySelector('#position-marker');
 +
function revealEquip() {    //最终输出
 +
    positionT.innerHTML = "";
 +
 
 +
    var htmlline = "";
 +
    for (var j = 0; j < 1000; j++) {
 +
        if (equipTarget[j] == 0) break;
 +
        var tar = equipElement[equipTarget[j]];
 +
        console.log(tar.getAttribute('data-name-ingame'));
 +
 
 +
        var thisline = "<tr><td>";
 +
        thisline += "<a href=\"" + tar.getAttribute('data-url') + "\"><b>" + tar.getAttribute('data-name-ingame') + "<\/b><\/a><\/td><td>";
 +
        thisline += "<img style=\"width:100px; \" src=" + tar.getAttribute('data-avatar') + " \/>" + "<\/td><td>";
 +
        thisline += tar.getAttribute('data-equip-class1') + "<\/br>" + tar.getAttribute('data-equip-class2') + "<\/td><td>";
 +
        thisline += (tar.getAttribute('data-base-atk') != "0" ? tar.getAttribute('data-base-atk') : "") + "<\/td><td>";
 +
        thisline += (tar.getAttribute('data-base-acc') != "0" ? tar.getAttribute('data-base-acc') : "") + "<\/td><td>";
 +
        thisline += (tar.getAttribute('data-base-eva') != "0" ? tar.getAttribute('data-base-eva') : "") + "<\/td><td>";
 +
        thisline += (tar.getAttribute('data-base-rate') != "0" ? tar.getAttribute('data-base-rate') : "") + "<\/td><td>";
 +
        thisline += (tar.getAttribute('data-base-criper') != "0" ? tar.getAttribute('data-base-criper') : "") + "<\/td><td>";
 +
        thisline += (tar.getAttribute('data-base-crirate') != "0" ? tar.getAttribute('data-base-crirate') : "") + "<\/td><td>";
 +
        thisline += (tar.getAttribute('data-base-ampierce') != "0" ? tar.getAttribute('data-base-ampierce') : "") + "<\/td><td>";
 +
        thisline += (tar.getAttribute('data-base-night') != "0" ? tar.getAttribute('data-base-night') : "") + "<\/td><td>";
 +
        thisline += (tar.getAttribute('data-base-bullet') != "0" ? tar.getAttribute('data-base-bullet') : "") + "<\/td><td>";
 +
        thisline += (tar.getAttribute('data-base-move') != "0" ? tar.getAttribute('data-base-move') : "") + "<\/td><td>";
 +
        thisline += (tar.getAttribute('data-base-target') != "0" ? tar.getAttribute('data-base-target') : "") + "<\/td><td>";
 +
        thisline += toDollName(j) + "<\/td><td>";
 +
        thisline += tar.getAttribute('data-obtain') + "<\/td><\/tr>";
 +
        //'<td>装备<\/td><td>图标<\/td><td>类型<\/td><td>伤害<\/td><td>命中<\/td><td>回避<\/td><td>射速<\/td><td>暴击<\/td><td>暴伤<\/td><td>穿甲<\/td><td>夜视<\/td><td>弹量<\/td><td>移速<\/td><td>目标<\/td><td>适用人形<\/td><td>获得途径<\/td>'
 +
        htmlline += thisline;
 +
    }
 +
 
 +
    var output = `<table id="Equiptable" class="stattable" style="text-align:center; mid-width:300px; width:100%;">
 +
        <thead><tr><th style="width:120px;">装备<\/th><th>图标<\/th><th>类型<\/th><th>伤害<\/th><th>命中<\/th><th>回避<\/th><th>射速<\/th><th>暴击<\/th><th>暴伤<\/th><th>穿甲<\/th><th>夜视<\/th><th>弹量<\/th><th>移速<\/th><th>目标<\/th><th style="width:110px;">适用人形<\/th><th>获得途径<\/th><\/tr><\/thead>
 +
        <tbody id="Equiptbody">` + htmlline + `<\/tbody><\/table>`;
 +
    positionT.innerHTML = output;
 +
}
 +
 
 +
$('.clearSelect').on("click",function(){clearSelect(this)});
 +
$('.invertSelect').on("click",function(){invertSelect(this)})
 +
 
 +
function invertSelect(box) {//反选函数
 +
    var get_checker_box = box.parentNode.getElementsByTagName("input");
 +
    for (var i = 0; i < get_checker_box.length; i++) {
 +
        if (get_checker_box[i].dataset.freeze) { continue; }
 +
        if (get_checker_box[i].checked) { get_checker_box[i].checked = false } else { get_checker_box[i].checked = true }
 +
    }
 +
    reloadEquip();
 +
}
 +
 
 +
function clearSelect(box) { //清除选择
 +
    var get_checker_box = box.parentNode.getElementsByTagName("input");
 +
    for (var i = 0; i < get_checker_box.length; i++) {
 +
        if (get_checker_box[i].dataset.freeze) { continue; }
 +
        get_checker_box[i].checked = false
 +
    }
 +
    reloadEquip();
 +
}
 +
 
 +
function toDollName(i) { //Name模板
 +
    var dollstr;
 +
    var thisDoll = equipElement[equipTarget[i]].getAttribute('data-equip-dollname1');
 +
    dollstr = thisDoll
 +
    //{{Name|" + thisDoll + "|{{#show:" + thisDoll + "|?枪种|link=none}}|{{#show:" + thisDoll + "|?稀有度|link=none}}}}
 +
    var thisDoll2 = equipElement[equipTarget[i]].getAttribute('data-equip-dollname2');
 +
    if (thisDoll2 != false) { dollstr += "<br>" + thisDoll2; }
 +
    var thisDoll3 = equipElement[equipTarget[i]].getAttribute('data-equip-dollname3');
 +
    if (thisDoll3 != false) { dollstr += "<br>" + thisDoll3; }
 +
    return dollstr;
 +
}
 +
</script></includeonly>

2020年11月23日 (一) 22:27的版本