測試

出自LoveLive SIF 台服
跳至導覽 跳至搜尋



<html> <script src="http://lovelivesiftw.ddns.net/dataviewer/MouseOverEvent.js"></script> <style> .td{ white-space:nowrap; } </style> <script>

var card


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 + '
' + input2 + ''} case "rarity" : if (input==0){ return "R"} else if(input==1){ return "SR"} else if (input == 2){ return 'UR'} else {return "error"} case "prop" : if (input == 0){ return 'Smile'} else if (input == 1){ return 'Pure'} else if (input == 2){ return 'Cool'} else{return "error"} case "skill" : return input + '
' + 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的力量
Smile小幅提升(+3%)'} else if (input2 == 1){ return 'Pure的力量
Pure小幅提升(+3%)'} else if (input2 == 2){ return 'Cool的力量
Cool小幅提升(+3%)'} else {return "error"} } if (input3==1){//SR if (input2 == 0){ return 'Smile之心
Smile提升(+6%)'} else if (input2 == 1){ return 'Pure之心
Pure提升(+6%)'} else if (input2 == 2){ return 'Cool之心
Cool提升(+6%)'} else {return "error"} } if (input3==2){//UR if (input2 == 0){ return 'Smile公主
Smile大幅提升(+9%)'} else if (input2 == 1){ return 'Pure天使
Pure大幅提升(+9%)'} else if (input2 == 2){ return 'Cool皇后
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皇后
Smile随着CoolP提升(+12%)'} else if (input2 == 1){ return 'Pure公主
Pure随着SmileP提升(+12%)'} else if (input2 == 2){ return 'Cool天使
Cool随着PureP提升(+12%)'} else {return "error"} } else if (input==4){//+1 if (input2 == 0){ return 'Smile天使
Smile随着PureP提升(+12%)'} else if (input2 == 1){ return 'Pure皇后
Pure随着CoolP提升(+12%)'} else if (input2 == 2){ return 'Cool公主
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 GenerateTab(){ /* 属性说明 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++){ if (card[i].hideflag||card[i].avail==0){ continue} ii++ var Tr = tab.insertRow(tab.rows.length) if (ii%2!=0) {Tr.style.background = "#FFFAFC"}

var Td = new Array(15) for (var j=0;j<15;j++){ Td[j] = Tr.insertCell(j) Td[j].align = "center"

                       Td[j].className = "td"

} Td[0].innerHTML = GetStringFromProp("ID",card[i].ID) Td[1].innerHTML = '<img onmouseover="fn_mouseover()" onmouseout="fn_mouseout()" src="'+ card[i].img +'" />'; Td[1].height = "70px" var name = card[i].name; 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=4;j<13;j++){ //alert(((j-5)%3)==card[i].prop) if (((j-4)%3)==card[i].prop){ switch (card[i].prop) { case 0: Td[j].innerHTML = '' + String(att[j-4]) + "" break case 1: Td[j].innerHTML = '' + String(att[j-4]) + "" break case 2: Td[j].innerHTML = '' + String(att[j-4]) + "" break default: Td[j].innerHTML = "error" } } else{ Td[j].innerHTML = att[j-4]} } Td[13].innerHTML = GetStringFromProp("skill",card[i].skinam,card[i].skides) Td[14].innerHTML = GetStringFromProp("center",card[i].centski,card[i].prop,card[i].rar) } } 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() } 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() 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(card) } /*function isBrowser(){ var Sys={}; var ua=navigator.userAgent.toLowerCase(); var s; (s=ua.match(/msie ([\d.]+)/))?Sys.ie=s[1]: (s=ua.match(/firefox\/([\d.]+)/))?Sys.firefox=s[1]: (s=ua.match(/chrome\/([\d.]+)/))?Sys.chrome=s[1]: (s=ua.match(/opera.([\d.]+)/))?Sys.opera=s[1]: (s=ua.match(/version\/([\d.]+).*safari/))?Sys.safari=s[1]:0; if(Sys.ie){//Js判断为IE浏览器 alert('http://www.phpernote.com'+Sys.ie); if(Sys.ie=='9.0'){//Js判断为IE 9 }else if(Sys.ie=='8.0'){//Js判断为IE 8 }else{ } } if(Sys.firefox){//Js判断为火狐(firefox)浏览器 return "firefox" } if(Sys.chrome){//Js判断为谷歌chrome浏览器 return "chrome" } if(Sys.opera){//Js判断为opera浏览器 return "opera" } if(Sys.safari){//Js判断为苹果safari浏览器 return "safari" } }*/ 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 point_s.x -= x; point_s.y -= y; //alert(point_s.y) if (point.y > height*0.4){ 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" else document.getElementById("suppski").style.display = "none" } function init(){ var rawFile = new XMLHttpRequest(); var allText = ""; rawFile.open("GET", 'http://lovelivesiftw.ddns.net/dataviewer/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() } </script> <body onload = "init()">

稀有度 颜色 角色 技能
<input id = "r_r" type="checkbox" onchange = "check(this.id)">R <input id = "c_smile" type="checkbox" checked onchange = "check(this.id)">Smile <input id = "ho" type = "checkbox" checked onchange = "check(this.id)">果 <input id = "nic" type = "checkbox" checked onchange = "check(this.id)">妮 <input id = "skill_s" type = "checkbox" checked onchange = "check(this.id)">加分
<input id = "r_sr" type="checkbox" checked onchange = "check(this.id)">SR <input id = "c_pure" type="checkbox" checked onchange = "check(this.id)">Pure <input id = "umi" type = "checkbox" checked onchange = "check(this.id)">海 <input id = "rin" type = "checkbox" checked onchange = "check(this.id)">凛 <input id = "skill_c" type = "checkbox" value = "skill_c" checked onchange = "check(this.id)">判定
<input id = "r_ur" type="checkbox" checked onchange = "check(this.id)">UR <input id = "c_cool" type="checkbox" checked onchange = "check(this.id)">Cool <input id = "kot" type = "checkbox" checked onchange = "check(this.id)">鸟 <input id = "ha" type = "checkbox" checked onchange = "check(this.id)">阳 <input id = "skill_h" type = "checkbox" checked onchange = "check(this.id)">奶卡
<input id = "noz" type = "checkbox" checked onchange = "check(this.id)">希 <input id = "maki" type = "checkbox" checked onchange = "check(this.id)">姬 <input id = "sk_det" type = "checkbox" onchange = "showdetail()">详细
<input id = "r_all" type="checkbox" onchange = "check(this.id)">All <input id = "c_all" type="checkbox" checked onchange = "check(this.id)">All <input id = "eli" type = "checkbox" checked onchange = "check(this.id)">绘 <input id = "char_all" type = "checkbox" checked onchange = "check(this.id)">All <input id = "skill_all" type = "checkbox" checked onchange = "check(this.id)">All

0: 选中"详细"可以获得更多关于技能的筛选项

0.1: N/P/C/S: Note,Prefect,Combo,Score触发。-->歌曲难度越高,期望值越高
0.2: T:时间触发--> 期望值恒定

1: 点击No,稀有度,名字,smile,pure和cool可以进行排序。
2: 鼠标悬停头像可以查看大图。
3: 万分感谢<a href = "http://twintailosu.sinaapp.com/?app=lovelive">Glaceon</a>提供的API

<input type='button' style = "" value='筛选' onclick='SelectedList()'>


No 头像 名字 LV 1 LV 40/60/80 LV 60/80/100 技能 主唱技能
Smile Pure Cool Smile Pure Cool Smile Pure Cool

</body> </html>