2016-07-30 01:51:41 +08:00

86 lines
2.9 KiB
JavaScript

// 正式用
//var baseAPIUrl = "//spreadsheets.google.com/feeds/list/1wr8qbkLGUkmrscj7CPeFml9FlfQCxBKBKzkc2v7lIK8/ohu83m6/public/values?alt=json";
// 測試用
var baseAPIUrl = "//spreadsheets.google.com/feeds/list/1bA_RNgWbS8_K_4UJ5wUkzZd98gNHz2zKj8E0NYxVWhY/ohu83m6/public/values?alt=json";
var updateFreSec = 10000;
// set timeout
queryResult();
var tid = setTimeout(queryTimeoutAdp, updateFreSec);
function queryTimeoutAdp() {
queryResult();
tid = setTimeout(queryTimeoutAdp, updateFreSec); // repeat myself
}
function abortTimer() { // to be called when you want to stop the timer
clearTimeout(tid);
}
function queryResult() {
$.ajax({
type: "GET",
dataType:"jsonp",
// type: "POST",
url: baseAPIUrl,
beforeSend: function() {
},
success: function(data){
// 資料擷取
var bossMaxHp = data.feed.entry[0].gsx$boss總血量.$t;
var bossHp = data.feed.entry[0].gsx$boss剩餘血.$t;
var bossHpRate = (bossHp / bossMaxHp) * 100;
var overKillMaxBonus = data.feed.entry[0].gsx$overkill總分數.$t;
var overKillBonus = data.feed.entry[0].gsx$overkill分數.$t;
var overKillBonusRate = (overKillBonus / overKillMaxBonus) * 100;
var scheduleText = data.feed.entry[0].gsx$狀況一.$t;
// 測試用
// alert("OK "+data.feed.entry[0].gsx$boss剩餘血.$t);
// console.log(data);
// 顯示
display_data(scheduleText, bossMaxHp, bossHp, bossHpRate, overKillMaxBonus, overKillBonus, overKillBonusRate);
},
error: function(data){
// 隱藏處理中畫面
alert("網路錯誤,請重新整理試試看");
}
});
}
function display_data(scheduleText, bossMaxHp, bossHp, bossHpRate, overKillMaxBonus, overKillBonus, overKillBonusRate) {
// 介面對應
var mScheduleText = document.getElementById('schedule-text');
var mModeText = document.getElementById('mode-text');
var mBossScoreArea = document.getElementById('boss-hp-area');
var mBossHpRate = document.getElementById('boss-hp-rate');
var mBossMaxHp = document.getElementById('boss-max-hp');
var mBossHp = document.getElementById('boss-hp');
var mOverkillScoreArea = document.getElementById('overkill-bonus-area');
var mOverkillBonus = document.getElementById('overkill-bonus');
// 介面顯示數值
mBossHpRate.innerHTML = Math.ceil(bossHpRate * 100) / 100 + "%";
mBossHp.innerHTML = bossHp;
mBossMaxHp.innerHTML = bossMaxHp;
$('#boss-hp-area .progressbar').width(bossHpRate+"%");
mOverkillBonus.innerHTML = overKillBonus;
$('#overkill-bonus-area .progressbar').width(overKillBonusRate+"%");
mScheduleText.innerHTML = scheduleText;
// OverKill
if(bossHp == 0) {
mModeText.innerHTML = 'OverKill Mode';
$(mOverkillScoreArea).removeClass("hide");
}
else {
mModeText.innerHTML = 'BOSS Mode';
$(mOverkillScoreArea).addClass("hide");
}
}
function clean_data() {
}