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

“Widget:SkinQuery/js”的版本间的差异

来自少前百科GFwiki
跳转至: 导航搜索
(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">特殊<\/span><\/div>
+
             <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 ~ 998<span class="btntext">钻石<\/span><\/div>
+
             <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 / 150) - 2;
+
     let _br_num = Math.floor((_displaydiv_width - 120) / 148);
 
      
 
      
     let count = -1;
+
     let skinArray = [];
    let html_text = ``;
 
 
 
 
     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) <= 998 && _diamond1_state == "0") continue;
+
             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;
  
             count ++;
+
             skinArray.push({'suit':i, 'skin':j});
            if(count >= _br_num){
+
        }
                html_text += `<br/>`;
+
    }
                count = 0;
 
            }
 
  
            let bcard_class = "cardgrey";
+
    let skinMax = 5 * _br_num;
            switch($(suitElement[i]).attr("data-bcard" + String(j))){
+
    $(".pageNumberDiv").children().remove();
                case "3" : bcard_class = "cardblue"; break;
+
    for(let i = 0; i < Math.ceil(skinArray.length / skinMax); i++){
                case "5" : bcard_class = "cardgreen"; break;
+
        let div_html = `<div class="pageNumber" pageIndex="${i}">${i + 1}<\/div>`;
                case "8" : bcard_class = "cardorange"; break;
+
        $(".pageNumberDiv").append(div_html);
                default : bcard_class = "cardgrey";
+
    }
            }
+
    creat_pageClick();
 
 
            let item_class = "itemgrey";
 
            let gain_text = `<div class="skingain `;
 
            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;
 
            }
 
 
 
            html_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">
 
                                    <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 + `">` + $(suitElement[i]).attr("data-item" + String(j)) + `<\/div>
 
                                ` + ((anime_text) ? `<div class="skinanime">` + anime_text + `<\/div>` : ``) + `
 
                            <\/div>   
 
                        <\/div>`;
 
  
 +
    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(html_text);
+
     if(htmlPageSave.length) $($(".pageNumber")[0]).click();
 +
    else $("#displaydiv").html("");
 
}
 
}
  
第288行: 第283行:
 
     let _month0_state = $("#month0").attr("state");
 
     let _month0_state = $("#month0").attr("state");
  
     var html_text = ``;
+
     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);
 +
        }
 +
    }
  
            let bcard_class = "cardgrey";
+
    if(htmlPageSave.length) $($(".pageNumber")[0]).click();
            switch($(suitElement[i]).attr("data-bcard" + String(j))){
+
    else $("#displaydiv").html("");
                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";
+
function creat_card(i, j){
            let gain_text = `<div class="skingain `;
+
    let bcard_class = "cardgrey";
            let item_text = $(suitElement[i]).attr("data-item" + String(j));
+
    switch($(suitElement[i]).attr("data-bcard" + String(j))){
            switch($(suitElement[i]).attr("data-gain" + String(j))){
+
        case "3" : bcard_class = "cardblue"; break;
                case "采购" : gain_text += `itemwhite">兑换券<\/div>`; item_class = "itemwhite"; break;
+
        case "5" : bcard_class = "cardgreen"; break;
                case "钻石" : gain_text += `itemblue">钻石<\/div>`; item_class = "itemblue"; break;
+
        case "8" : bcard_class = "cardorange"; break;
                case "RMB" : gain_text += `itemred">RMB<\/div>`; item_class = "itemred"; break;
+
        default : bcard_class = "cardgrey";
                case "其他" : gain_text += `itemgrey">其他<\/div>`; item_class = "itemgrey"; item_text = `<div style="color: transparent; height: 26px;"><\/div>`; break;
+
    }
                default : gain_text += `itemgrey">error<\/div>`;
 
            }
 
  
            let anime_text = "";
+
    let item_class = "itemgrey";
            switch($(suitElement[i]).attr("data-anime" + String(j))){
+
    let gain_text = `<div class="skingain `;
                case "Live2D" : anime_text = `Live2D`; break;
+
    let item_text = $(suitElement[i]).attr("data-item" + String(j));
                case "Animated" : anime_text = `Animated`; break;
+
    switch($(suitElement[i]).attr("data-gain" + String(j))){
                default : anime_text = ""; break;
+
        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>`;
 +
    }
  
            html_text += `<div class="oneskin ` + bcard_class + `">
+
    let anime_text = "";
                            <div class="skinpicndiv" data-pica="${$(suitElement[i]).attr("data-pica" + String(j))}" data-picb="${$(suitElement[i]).attr("data-picb" + String(j))}">
+
    switch($(suitElement[i]).attr("data-anime" + String(j))){
                                <img class="skinpicn" src="` + $(suitElement[i]).attr("data-picn" + String(j)) + `" /><\/div>
+
        case "Live2D" : anime_text = `Live2D`; break;
                            <div class="skintext">
+
        case "Animated" : anime_text = `Animated`; break;
                                <div class="skindolllink" data-dollname="${$(suitElement[i]).attr("data-doll" + String(j))}">
+
        default : anime_text = ""; break;
                                    <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>`;
 
        }
 
        html_text += `<\/div>`;
 
 
     }
 
     }
  
     $("#displaydiv").html(html_text);
+
     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);
 
     });
 
     });
 
}
 
}

2021年7月17日 (六) 02:02的版本