模板:夏目部员数据库:修订间差异

来自LoveLive Wiki
跳到导航 跳到搜索
无编辑摘要
无编辑摘要
第10行: 第10行:
<html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--<script src="..\Source\CardDataBase.js"></script>-->
<script src="http://lovelive.oss-cn-beijing.aliyuncs.com/Js"></script>
<!--<script src="..\Source\CardDataBase.js"></script>-->
<!--<script src="..\Source\CardDataBase.js"></script>-->
<script src="http://lovelive.oss-cn-beijing.aliyuncs.com/Js/MouseOverEvent.js"></script>
<script src="http://lovelive.oss-cn-beijing.aliyuncs.com/Js/MouseOverEvent.js"></script>
第42行: 第42行:
var currentPage = 1;
var currentPage = 1;
var totalPage = 0;
var totalPage = 0;
function GetIdxByID(ID){
for(var i=0;i<card.length;i++){
if(card[i].ID==ID)
return i;}
return -1;
}
function Reset(){
for(var i=0;i<card.length;i++){
card[i].hideflag = 0;}
}
function ReorganizeAtt(att){
var temp = new Array(9)
temp[0] = att[0]
temp[1] = att[3]
temp[2] = att[6]
temp[3] = att[1]
temp[4] = att[4]
temp[5] = att[7]
temp[6] = att[2]
temp[7] = att[5]
temp[8] = att[8]
return temp
}
function GetStringFromProp(mode,input,input2,input3){
switch (mode){
case "name" :
if (input2==""){
return input}
else{
return input + '<br><font color="#808080">' + input2 + '</font>'}
case "rarity" :
if (input==0){
return "R"}
else if(input==1){
return "<b>SR</b>"}
else if (input == 2){
return '<font color="blue"><b>UR</b></font>'}
else if (input ==3){
return '特'}
else {return "error"}
case "prop" :
if (input == 0){
return '<font color = "red">Smile</font>'}
else if (input == 1){
return '<font color = "#008000">Pure</font>'}
else if (input == 2){
return '<font color = "blue">Cool</font>'}
else{return "error"}
case "skill" :
return input + '<br>' + input2
case "center" :
//GetStringFromProp("center",card[i].centski,card[i].prop,card[i].rar)
if (input == 0){
if (input3==0){//R
if (input2 == 0){
return 'Smile的力量<br>Smile小幅提升(+3%)'}
else if (input2 == 1){
return 'Pure的力量<br>Pure小幅提升(+3%)'}
else if (input2 == 2){
return 'Cool的力量<br>Cool小幅提升(+3%)'}
else {return "error"}
}
if (input3==1){//SR
if (input2 == 0){
return 'Smile之心<br>Smile提升(+6%)'}
else if (input2 == 1){
return 'Pure之心<br>Pure提升(+6%)'}
else if (input2 == 2){
return 'Cool之心<br>Cool提升(+6%)'}
else {return "error"}
}
if (input3==2){//UR
if (input2 == 0){
return 'Smile公主<br>Smile大幅提升(+9%)'}
else if (input2 == 1){
return 'Pure天使<br>Pure大幅提升(+9%)'}
else if (input2 == 2){
return 'Cool皇后<br>Cool大幅提升(+9%)'}
else {return "error"}
}
}
else if (input==1){
return GetStringFromProp("center",0,input2,0);}
else if (input ==3){//-1
if (input2 == 0){
return 'Smile皇后<br>Smile随着CoolP提升(+12%)'}
else if (input2 == 1){
return 'Pure公主<br>Pure随着SmileP提升(+12%)'}
else if (input2 == 2){
return 'Cool天使<br>Cool随着PureP提升(+12%)'}
else {return "error"}
}
else if (input==4){//+1
if (input2 == 0){
return 'Smile天使<br>Smile随着PureP提升(+12%)'}
else if (input2 == 1){
return 'Pure皇后<br>Pure随着CoolP提升(+12%)'}
else if (input2 == 2){
return 'Cool公主<br>Cool随着SmileP提升(+12%)'}
else {return "error"}
}
else {return "error";}
case "ID" :
if (input<100){
return '0' + String(input)}
else{return String(input)}
default:
return "error"
}
}
function GenTabFromPage(thisPage){
currentPage = thisPage;
ClearAll();
GenerateTab(thisPage);
}
function FilpPage(dir){
if (dir=="next")
if (currentPage==totalPage)
alert("This is the last page");
else
GenTabFromPage(currentPage+1);
else if (dir == "previous")
if (currentPage==1)
alert("This is the first page");
else
GenTabFromPage(currentPage-1);
return
}
function ChangeRowsPerPage(){
NumPerPage = document.getElementById("SelRowPerPage").value;
ClearAll();
GenerateTab(1);
}
function GenPageList(numPage,thisPage){
var divNam = "llwiki-memberInfo-PageList";
var dotFlag = new Array();
dotFlag[0] = thisPage>3?true:false;
dotFlag[1] = thisPage<numPage-2?true:false;
document.getElementById(divNam).innerHTML = "";
var txt = "";
if (thisPage!=1)
txt += '<span style="cursor:pointer" onclick = "GenTabFromPage(1)"><u>1</u></span>&nbsp;&nbsp;';
if (dotFlag[0])
txt += "<span>......</span>&nbsp;&nbsp;"
if (thisPage>2)
txt += '<span style="cursor:pointer" onclick = "GenTabFromPage(' + (thisPage-1) + ')"><u>' + (thisPage-1) + '</u></span>&nbsp;&nbsp;';
txt += '<span><font color = "red">' + thisPage + "</font color></span>&nbsp;&nbsp;";
if (thisPage<numPage-1)
txt += '<span style="cursor:pointer" onclick = "GenTabFromPage(' + (thisPage+1) + ')"><u>' + (thisPage+1) + '</u></span>&nbsp;&nbsp;';
if (dotFlag[1])
txt += "<span>......</span>&nbsp;&nbsp;"
if (thisPage!=numPage)
txt += '<span style="cursor:pointer" onclick = "GenTabFromPage(' + numPage + ')"><u>' + numPage + '</u></span>';
//alert(txt);
document.getElementById(divNam).innerHTML = txt;
var offsetHeight = document.getElementById('tab').offsetHeight;
document.getElementById("llwiki-memberInfo-PreviousPage").style.height = offsetHeight;
document.getElementById("llwiki-memberInfo-NextPage").style.height = offsetHeight;
document.getElementById("llwiki-memberInfo-NextPage").addEventListener();
return;
}
function GenerateTab(thisPage){
/* 属性说明
ID = 卡牌序号
rar = 稀有度
R=0,SR=1,UR=2
img = 头像地址
name = 卡牌名称
det = 名称备注(比如xxx时间追加
prop = 卡牌属性
smile=0,pure=1,cool=2
若留空,则取能力最大值
stm = 一级体力
att = 人物一级属性
[smile,pure,cool]
skinam = 技能名称
skides = 技能描述
skicls = 技能分类
A1 = Note/Combo/Prefect加分 A2 = 时间加分 A3 = 分数到达xxx加分
B1 = Note/Combo判定 B2 = 时间判定
C1 = Note/Combo回血 C2 = 时间回血
若有多重属性,则skicls = "A1+A11"
centski = 主唱技能
无 = 常规 (比如R对应smile/pure/cool力量,SR对应smile/pure/cool之心)
国服尚未开放其他Center技能*/
var tab = document.getElementById('tab')
var ii = 0;
for (var i=0;i<card.length;i++){
//for (var i=(thisPage-1)*NumPerPage;i<thisPage*NumPerPage;i++){
if (card[i].hideflag||card[i].avail==0){
continue}
ii++
if (ii>=(thisPage-1)*NumPerPage && ii <thisPage*NumPerPage){
var Tr = tab.insertRow(tab.rows.length)
if (ii%2!=0)
{Tr.style.background = "#FFFAFC"}
var Td = new Array(11)
for (var j=0;j<11;j++){
Td[j] = Tr.insertCell(j);
Td[j].align = "center";
Td[j].className = "td";
}
Td[0].innerHTML = GetStringFromProp("ID",card[i].ID)
if (card[i].ID<100)
pid = "0" + card[i].ID;
else
pid = card[i].ID;
var imgpath = "http://lovelive.oss-cn-beijing.aliyuncs.com/image/portrait/" + pid + ".jpg";
var img_idopath = "http://lovelive.oss-cn-beijing.aliyuncs.com/image/portrait/" + pid + "_ido.jpg";
Td[1].innerHTML = '<img style = "width:64px;height:64px" onmouseover="fn_mouseover()" onmouseout="fn_mouseout()" src="'+ imgpath +'" />';
Td[1].innerHTML += '<img style = "width:64px;height:64px" onmouseover="fn_mouseover()" onmouseout="fn_mouseout()" src="'+ img_idopath +'" />';
//Td[1].height = "70px";
var rarity = GetStringFromProp("rarity",card[i].rar,null);
var name = card[i].name.replace("(",rarity + "<br>(");
Td[2].innerHTML = name;
//Td[3].innerHTML = GetStringFromProp("rarity",card[i].rar,null);
//Td[4].innerHTML = GetStringFromProp("prop",card[i].prop,null)
var att = ReorganizeAtt(card[i].att)
for (var j=3;j<9;j++){
//alert(((j-5)%3)==card[i].prop)
if (((j-3)%3)==card[i].prop){
switch (card[i].prop) {
case 0:
Td[j].innerHTML = '<b><font color = "red">' + String(att[j]) + "</font></b>"
break
case 1:
Td[j].innerHTML = '<b><font color = "#008000">' + String(att[j]) + "</font></b>"
break
case 2:
Td[j].innerHTML = '<b><font color = "blue">' + String(att[j]) + "</font></b>"
break
default:
Td[j].innerHTML = "error"
}
}
else{
Td[j].innerHTML = att[j]}
}
Td[9].innerHTML = GetStringFromProp("skill",card[i].skinam,card[i].skides)
Td[10].innerHTML = GetStringFromProp("center",card[i].centski,card[i].prop,card[i].rar)
}
}
var numPage = Math.ceil(ii/NumPerPage);
totalPage = numPage;
currentPage = thisPage;
GenPageList(numPage,thisPage)
}
function ClearAll(){
var Table = document.getElementById('tab')
for(var i=Table.rows.length-1;i>=2;i--)
    {
        Table.deleteRow(i);
    }
}
function SelectFromOption(){
var namelist = new Array(4)
namelist[0] = ["r_r","r_sr","r_ur","r_all"]
namelist[1] = ["c_smile","c_pure","c_cool","c_all"]
namelist[2] = ["ho" ,"umi" ,"kot","noz","eli","nic","rin","ha","maki","char_all"]
namelist[3] = ["none","skill_s1","skill_s2","skill_s5","skill_s4","skill_c4","skill_c1","skill_h1","skill_h4","skill_h2","none","skill_s3","skill_c3","skill_h3","skill_all"]
for (var ii=0;ii<namelist.length;ii++){
namelength = namelist[ii].length-1
if (document.getElementById(namelist[ii][namelength]).checked){
continue}//If "all" is selected, skip this namelist and check next one
var checklist = new Array(namelength)
var contflag = 1;
for(var i=0;i<namelength;i++){
if (namelist[ii][i]=="none"){
checklist[i] = false;
continue;}
checklist[i] = document.getElementById(namelist[ii][i]).checked
if (!checklist[i]){contflag=0} // If one of the checkbox is not selected, do the following
}
if (contflag){
continue}
var r_list = new Array(namelength)
//alert(namelength)
for(var i=0;i<namelength;i++){
if (checklist[i]){
r_list[i]=99}
else{
r_list[i]=i}
}
//alert(r_list)
for(var i=0;i<card.length;i++){
switch (ii){
case 0:
comp = card[i].rar
break;
case 1:
comp = card[i].prop
break;
case 2:
comp = card[i].cha
break;
case 3:
comp = card[i].skicls
break;
default:
return
}
for(var j=0;j<namelength;j++){
if(comp==r_list[j]){
card[i].hideflag = 1;}
}
}
}
//return card
}
function SelectedList(){
Reset()
ClearAll()
SelectFromOption()
GenerateTab(1)
}
function UpdateCheckBox(n_array,n_all,name){
if (name==n_all){
if(document.getElementById(name).checked){
for(var i=0;i<n_array.length;i++){
document.getElementById(n_array[i]).checked = true
}
}
else{
for(var i=0;i<n_array.length;i++){
document.getElementById(n_array[i]).checked = false
}
}
}
else if(!document.getElementById(name).checked){
document.getElementById(n_all).checked = false
}
}
function check(name,skipflag1,skipflag2,skipflag3){
if (arguments.length<4)
skipflag3 = false;
if (arguments.length<3)
skipflag2 = false;
if (arguments.length<2)
skipflag1 = false;
var n_array = new Array()
var n_all = ""
if (name=="r_r" || name=="r_sr"||name =="r_ur"||name == "r_all"){
n_array = ["r_r" ,"r_sr" ,"r_ur"]
n_all = "r_all"}
else if (name=="c_smile"||name=="c_pure"||name=="c_cool"||name=="c_all"){
n_array = ["c_smile" ,"c_pure" ,"c_cool"]
n_all = "c_all"}
else if (name=="ho"||name=="umi"||name=="kot"||name=="noz"||name=="eli"||name=="nic"||name=="rin"||name=="ha"||name=="maki"||name=="char_all"){
n_array = ["ho" ,"umi" ,"kot","noz","eli","nic","rin","ha","maki"]
n_all = "char_all"}
else if (name.indexOf("skill_s")>-1){
n_array = ["skill_s1" ,"skill_s2" ,"skill_s3","skill_s4","skill_s5"]
n_all = "skill_s"}
else if (name.indexOf("skill_c")>-1){
n_array = ["skill_c1" ,"skill_c2" ,"skill_c3","skill_c4"]
n_all = "skill_c"}
else if (name.indexOf("skill_h")>-1){
n_array = ["skill_h1" ,"skill_h2" ,"skill_h3","skill_h4"]
n_all = "skill_h"}
if ((n_array.length>0) *(1-skipflag1*1)){
UpdateCheckBox(n_array,n_all,name)}
n_all = new Array()
if (skipflag2)
return
if (name == "skill_s"|| name == "skill_c"|| name =="skill_h"|| name == "skill_all"){
n_array = ["skill_s" ,"skill_c" ,"skill_h"]
n_all = "skill_all"
UpdateCheckBox(n_array,n_all,name)
if (!skipflag3){
for(var i=0;i<n_array.length;i++){
check(n_array[i],0,1)
}
}
}
else if(name.indexOf("skill")>-1){
check(name.substring(0,name.length-1),1,0,1)
}
}
function FilltFromTable(){
Reset();
SelectFromOption();
/*var tab = document.getElementById('tab')
var numrow = tab.rows.length-2
var IDlist = new Array(numrow)
for(var i=0;i<numrow;i++){
IDlist[i] = parseInt(tab.rows.item(2+i).cells.item(0).innerHTML,10)
}
for (var i=0;i<card.length;i++){
card[i].hideflag = 1;
for (var j=0;j<numrow;j++){
if (card[i].ID==IDlist[j]){
card[i].hideflag = 0;
break;}
}
}*/
//return card;
}
function ExchangeFlag(comp,mode){
if (mode){//升序
if (comp[0]>comp[1]){
return 1}
else{
return 0}
}
else{
if (comp[0]>comp[1]){
return 0}
else{
return 1}
}
}
function sort(tag){
var id = tag;
var mode = 0//降序
var comp = Array(2)
if (/^[a-z]+$/.test(tag[0])){
var temp = tag.toUpperCase()
tag = temp[0]+tag.slice(1)
mode = 1//小写,升序
}
FilltFromTable()
for (var i=0;i<card.length-1;i++){
for(var j=i+1;j<card.length;j++){
if (card[j].hideflag){
continue}
switch(tag){
case "No":
comp[0] = card[i].ID;
comp[1] = card[j].ID;
break;
case "Name":
comp[0] = card[i].cha;
comp[1] = card[j].cha;
break;
case "Rarity":
comp[0] = card[j].rar;
comp[1] = card[j].rar;
break;
case "Smile1":
comp[0] = card[i].att[0];
comp[1] = card[j].att[0];
break;
case "Smile2":
comp[0] = card[i].att[1];
comp[1] = card[j].att[1];
break;
case "Smile3":
comp[0] = card[i].att[2];
comp[1] = card[j].att[2];
break;
case "Pure1":
comp[0] = card[i].att[3];
comp[1] = card[j].att[3];
break;
case "Pure2":
comp[0] = card[i].att[4];
comp[1] = card[j].att[4];
break;
case "Pure3":
comp[0] = card[i].att[5];
comp[1] = card[j].att[5];
break;
case "Cool1":
comp[0] = card[i].att[6];
comp[1] = card[j].att[6];
break;
case "Cool2":
comp[0] = card[i].att[7];
comp[1] = card[j].att[7];
break;
case "Cool3":
comp[0] = card[i].att[8];
comp[1] = card[j].att[8];
break;
default:
alert("error in sort")
}
if(ExchangeFlag(comp,mode)){
var tempobj = card[j]
card[j] = card[i];
card[i] = tempobj;
}
}
}
if(mode==0){
var temp = tag.toLowerCase()
tag = temp[0]+tag.slice(1)
}//大写
document.getElementById(id).id=tag;
ClearAll()
GenerateTab(currentPage)
}
function fn_mouseover(){
event = getEvent()
var td = event.srcElement||event.target
cardID = parseInt(td.parentElement.parentElement.cells[0].innerHTML,10)
var point_s = getMousePoint(event);
var point = {
x:event.clientX,
y:event.clientY
};
tid = setTimeout( function(){ShowWindows(point,point_s,cardID)}, 500 );
}
function ShowWindows(point,point_s,ID){
var height =  document.body.clientHeight;
//var x = document.getElementById("p-.E6.B4.BB.E5.8A.A8").clientWidth
//var y = document.getElementById("mw-head").clientHeight
var x = 0//Only for wiki
var y=0;
point_s.x -= x;
point_s.y -= y;
//alert(point_s.y)
if (point.y > height*0.5){
point_s.y -= 450}
Idx = GetIdxByID(ID)
if (Idx>=0){
if (!(card[Idx].cardimg=="" && card[Idx].cardimg_id=="")){
var e = document.getElementById("Layer1");
e.style.left = String(point_s.x) + "px"
e.style.top = String(point_s.y) + "px"
//document.getElementById("Layer1").style.left = point_s.x;
//document.getElementById("Layer1").style.top = point_s.y;
document.getElementById("Layer1").innerHTML = GetImgDes(Idx)
//document.getElementById("Layer1").innerHTML ='<img src="'+ card[Idx].cardimg +'" /><img hspace = 20 src="' + card[Idx].cardimg_id + '"/>';
document.getElementById("Layer1").style.display = "block";}
//alert(document.getElementById("Layer1").style.top)
}
}
function showdetail(){
if (document.getElementById("sk_det").checked){
document.getElementById("suppski").style.display = "block";
document.getElementById("self-exp").style.display = "none";
}
else{
document.getElementById("suppski").style.display = "none";
document.getElementById("self-exp").style.display = "block";
}
}
function init(){
var rawFile = new XMLHttpRequest();
var allText = "";
rawFile.open("GET", 'http://lovelive.oss-cn-beijing.aliyuncs.com/Data/CardDataBase.json', false);
rawFile.onreadystatechange = function (){
if(rawFile.readyState === 4){
if(rawFile.status === 200 || rawFile.status == 0){
allText = rawFile.responseText;
}
}
}
rawFile.send(null);
card = JSON.parse(allText);
Reset()
SelectFromOption()
GenerateTab(currentPage)
}


</script>
</script>

2015年2月14日 (六) 12:22的版本


部员数据库

by绚濑绘里