Aurora Lemon(讨论 | 贡献) (6 打错了) |
Aurora Lemon(讨论 | 贡献) 小无编辑摘要 |
||
第2行: | 第2行: | ||
/* Player */ | /* Player */ | ||
function getServerStatus() { | function getServerStatus() { | ||
if ($("#live-player-status").length > 0) { | if ($("#live-player-status").length > 0) { | ||
$.getJSON("https:// | $.getJSON("https://mcapi.us/server/status?ip=helium.hydcraft.cn&port=25565", function(data) { | ||
if (data. | if (data.online == true) { | ||
$("#live-info-start").css("display" , "block"); | |||
var curPlayers = data.players.now; | |||
var maxPlayers = data.players.max; | |||
var width = curPlayers / maxPlayers; | |||
var statusText = curPlayers + " / " + maxPlayers; | |||
if (curPlayers > maxPlayers) | |||
$("#live-player-curmax").css("display" , "block"); | |||
else if (curPlayers == maxPlayers) | |||
$("#live-player-max").css("display" , "block"); | |||
else if (curPlayers < maxPlayers) | |||
$("#live-player-normal").css("display" , "block"); | |||
else if (curPlayers == maxPlayers / 2) | |||
$("#live-player-center").css("display" , "block"); | |||
if (curPlayers <= maxPlayers / 2) | |||
$("#live-player-progress").css("background-color" , "#096dd9"); | |||
else if(curPlayers > maxPlayers / 2 && curPlayers <= maxPlayers * 0.9) | |||
$("#live-player-progress").css("background-color" , "#ff7440"); | |||
else if(curPlayers > maxPlayers * 0.9) | |||
$("#live-player-progress").css("background-color" , "#a52a2a"); | |||
else | |||
$("#live-player-progress").css("background-color" , "#096dd9"); | $("#live-player-progress").css("background-color" , "#096dd9"); | ||
$("#live-player-status").html(statusText + " (" + (width * 100).toFixed(1) + "%)"); | |||
$("#live-player-progress").width(width * 100 + '%'); | |||
} else { | } else { | ||
$("#live-info-stop").css("display" , "block"); | $("#live-info-stop").css("display" , "block"); | ||
var statusText = " | var statusText = "服务器 未启动"; | ||
$("#live-player-status").html(statusText); | $("#live-player-status").html(statusText); | ||
$("#live-player-progress").width(0 + '%'); | $("#live-player-progress").width(0 + '%'); | ||
第45行: | 第41行: | ||
.fail(function (xhr) { | .fail(function (xhr) { | ||
$("#live-player-status").html("无法获取服务器信息"); | if (xhr.status == 502) { | ||
$("#live-player-status").html("无法获取服务器信息 。"); | |||
} else { | |||
$("#live-player-status").html("无法获取服务器信息,错误值:" + xhr.status + "。"); | |||
$("#live-player-progress").width(100 + '%'); | $("#live-player-progress").width(100 + '%'); | ||
$("#live-player-progress").css("background-color" , "#ff0000"); | $("#live-player-progress").css("background-color" , "#ff0000"); | ||
} | |||
}); | }); | ||
} | } | ||
第65行: | 第65行: | ||
} | } | ||
/* Sakana */ | |||
importScript( 'MediaWiki:Sakana.js' ); | importScript( 'MediaWiki:Sakana.js' ); | ||
/* Animate */ | /* Animate */ | ||
let textBox = $('#title'); | function animate() { | ||
return new Promise(resolve => { | |||
let textBox = $('#title'); | |||
let ani_index = 0; | |||
let str = 'Welcome to HydCraft Wiki! :D'; | |||
let len = str.length; | |||
function input() { | |||
textBox.html(str.substr(0, ani_index) + '<span class="animate">|</span>'); | |||
setTimeout(function() { | |||
ani_index++; | |||
if (ani_index === len + 1) { | |||
$('.animate').addClass('on'); | |||
resolve(); // 动画执行完成后,调用 resolve() 以解析 Promise | |||
return; | |||
} | |||
input(); | |||
}, Math.random() * 600); | |||
} | } | ||
input(); | input(); | ||
} | }); | ||
} | } | ||
animate(); | |||
}()); | }()); |
2023年7月21日 (五) 17:38的版本
$(function() {
/* Player */
function getServerStatus() {
if ($("#live-player-status").length > 0) {
$.getJSON("https://mcapi.us/server/status?ip=helium.hydcraft.cn&port=25565", function(data) {
if (data.online == true) {
$("#live-info-start").css("display" , "block");
var curPlayers = data.players.now;
var maxPlayers = data.players.max;
var width = curPlayers / maxPlayers;
var statusText = curPlayers + " / " + maxPlayers;
if (curPlayers > maxPlayers)
$("#live-player-curmax").css("display" , "block");
else if (curPlayers == maxPlayers)
$("#live-player-max").css("display" , "block");
else if (curPlayers < maxPlayers)
$("#live-player-normal").css("display" , "block");
else if (curPlayers == maxPlayers / 2)
$("#live-player-center").css("display" , "block");
if (curPlayers <= maxPlayers / 2)
$("#live-player-progress").css("background-color" , "#096dd9");
else if(curPlayers > maxPlayers / 2 && curPlayers <= maxPlayers * 0.9)
$("#live-player-progress").css("background-color" , "#ff7440");
else if(curPlayers > maxPlayers * 0.9)
$("#live-player-progress").css("background-color" , "#a52a2a");
else
$("#live-player-progress").css("background-color" , "#096dd9");
$("#live-player-status").html(statusText + " (" + (width * 100).toFixed(1) + "%)");
$("#live-player-progress").width(width * 100 + '%');
} else {
$("#live-info-stop").css("display" , "block");
var statusText = "服务器未启动";
$("#live-player-status").html(statusText);
$("#live-player-progress").width(0 + '%');
}
})
.fail(function (xhr) {
if (xhr.status == 502) {
$("#live-player-status").html("无法获取服务器信息。");
} else {
$("#live-player-status").html("无法获取服务器信息,错误值:" + xhr.status + "。");
$("#live-player-progress").width(100 + '%');
$("#live-player-progress").css("background-color" , "#ff0000");
}
});
}
}
getServerStatus();
setInterval(getServerStatus, 60000);
/* Poster */
var page = document.querySelector("body");
if (page.classList.contains('page-首页')) {
var mwBody = document.getElementById('content');
var newDiv = document.createElement('div');
newDiv.setAttribute('class', 'header-image');
newDiv.innerHTML = '<div class="header-image" style="background-image: linear-gradient(to top, var(--color-surface-0), transparent 150%), url(https://h2-wiki-1254268741.cos.accelerate.myqcloud.com/wiki-poster.png);background-size: cover;background-position: top;height: 36vh;margin-bottom: -28vh;"></div>';
mwBody.parentNode.insertBefore(newDiv, mwBody);
}
/* Sakana */
importScript( 'MediaWiki:Sakana.js' );
/* Animate */
function animate() {
return new Promise(resolve => {
let textBox = $('#title');
let ani_index = 0;
let str = 'Welcome to HydCraft Wiki! :D';
let len = str.length;
function input() {
textBox.html(str.substr(0, ani_index) + '<span class="animate">|</span>');
setTimeout(function() {
ani_index++;
if (ani_index === len + 1) {
$('.animate').addClass('on');
resolve(); // 动画执行完成后,调用 resolve() 以解析 Promise
return;
}
input();
}, Math.random() * 600);
}
input();
});
}
animate();
}());