如果你看到本条消息,说明本页面并未加载该全局导航的JS代码,该导航功能将无法使用,请刷新页面重试。

Cover-title-bg-icon.png


首页

Operator-title-bg-icon.png


干员

Event-title-bg-icon.png


活动

Operation-title-bg-icon.png


作战

Guide-title-bg-icon.png


攻略

全站通知:

“MediaWiki:Timer.js”的版本间差异

来自明日方舟WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
丛云酱 讨论 | 贡献
(创建页面,内容为“TimerNumber=document.getElementsByClassName("TimerNumber") TimerNumbers=new Array() for(i=0;i<TimerNumber.length;i++){ TimerNumbers=TimerNumber[i].innerHTML } Timer…”)
 
彩丶票 讨论 | 贡献
第1行: 第1行:
TimerNumber=document.getElementsByClassName("TimerNumber")
/*--倒计时--*/
TimerNumbers=new Array()
function $(el) {
for(i=0;i<TimerNumber.length;i++){
    if(typeof(el) == 'string') {
TimerNumbers=TimerNumber[i].innerHTML
        return(document.getElementById(el));
}
    }
TimerNumber=Math.max(TimerNumbers)
    return(el);
TimerZone=new Date().getTimezoneOffset()/60;
    }
TimerOffset=(8+TimerZone)*60*60*1000;
Timers=new Array();
TimerEndTimes=new Array();
TimerPMrs=new Array();
TimerDays=new Array();
TimerHours=new Array();
TimerMinutes=new Array();
TimerSeconds=new Array();


for(CountTimers=0;CountTimers<=TimerNumber;CountTimers++){
function fillZero(num, digit) {
Timers[CountTimers]=document.getElementById("Timer"+CountTimers);
    var str = '' + num;
if(!Timers[CountTimers]){
    if(str.length < digit) {
continue
    str = '0' + str;
}
    }
TimerEndTimes[CountTimers]=document.getElementById("TimerEndTime"+CountTimers);
    return str;
TimerPMrs[CountTimers]=document.getElementById("TimerPMr"+CountTimers);
    }
TimerDays[CountTimers]=document.getElementById("TimerDay"+CountTimers);
window.onload = function() {
TimerHours[CountTimers]=document.getElementById("TimerHour"+CountTimers);
$('.timer').html('<div class="container"><div class="row clearfix"><div class="col-md-12 column"><h1>倒计时计算器</h1><br><div class="time">年: <input type="number" min="2020" max="2099" value="2020" />月: <input type="number" min="1" max="12" value="8" />日:<input type="number" min="1" max="31" value="18" /><br>时: <input type="number" min="0" max="24" value="0" />分: <input type="number" min="0" max="60" value="0" />秒: <input type="number" min="0" max="60" value="0" /> <p>此次活动为:<input type="text" placeholder= "我是活动名称" onfocus="cls()" onblur="res()" style="color:gray; font-size: 12px;" onkeyprese="pre(this)"/> </p><p>结束时间为:<b>2020 年 8月 18 日 0 时 0 分</b> </p><div class="start" style="color:red;"><p>距离活动结束时间还有:</p><span>00</span>天<span>00</span>小时<br><span>00</span>分<br><span>00</span>秒<br></div><p><button type="button" class="btn" onclick="call()">计算</button></p></div>');
TimerMinutes[CountTimers]=document.getElementById("TimerMinute"+CountTimers);
    var oDiv1 = $('time');
TimerSeconds[CountTimers]=document.getElementById("TimerSecond"+CountTimers);
    var sInput = oDiv1.getElementsByTagName('input');
document.getElementById("TimerPMl"+CountTimers).innerHTML = "距离";
    var oYear = sInput[0];
Timers[CountTimers].style.display="";
    var oMonth = sInput[1];
    var oDay = sInput[2]
    var oHour = sInput[3];
    var oMinute = sInput[4];  
    var oSecond = sInput[5]  
    var oDiv2 = $('start');
    var pSpan = oDiv2.getElementsByTagName('span');
    var sTxtDay = pSpan[0];  
    var sTxtHour = pSpan[1]  
    var sTxtMin = pSpan[2]
    var sTxtSec = pSpan[3]  
    var oTxtTarget = document.getElementsByTagName('b')[0];
    var timer = null;
    $('btn').onclick = function() {
        timer = setInterval(updateTime, 1000);
        updateTime();
    }


}
    function updateTime() {
function TimerRun(){
    //var oDiv2 = $('start');
for(CountTimers=0;CountTimers<=TimerNumber;CountTimers++){
        var sYear = Math.abs(oYear.value);
if(!Timers[CountTimers]){
        var sMonth = Math.abs(oMonth.value);
continue
        var sDay = Math.abs(oDay.value);
}
        var sHour = Math.abs(oHour.value);
TimerEndTime=new Date(TimerEndTimes[CountTimers].innerHTML);
        var sMinute = Math.abs(oMinute.value);
TimerNowTime=new Date();
        var sSecond = Math.abs(oSecond.value);
TimerDifference=TimerEndTime.getTime()-TimerNowTime.getTime()-TimerOffset;
        if(sMonth > 12 || sDay > 31 || sHour > 24 || sMinute > 60 || sSecond > 60){
if(TimerDifference<0){
            clearInterval(timer);
TimerDay=Math.abs(Math.ceil(TimerDifference/1000/60/60/24));
            alert('输入错误');
TimerHour=Math.abs(Math.ceil(TimerDifference/1000/60/60%24));
            return;
TimerMinute=Math.abs(Math.ceil(TimerDifference/1000/60%60));
        }
TimerSecond=Math.abs(Math.ceil(TimerDifference/1000%60));
        oTxtTarget.innerHTML = sYear + ' 年 ' + sMonth + ' 月 ' + sDay + ' 日 ' + sHour + '时' + sMinute+ '分' +sSecond + '秒';
TimerPMrs[CountTimers].innerHTML = "已经过去";
        var oEndDate = new Date(sYear, (sMonth - 1), sDay, sHour, sMinute, sSecond);
}
        var oNowDate = new Date();
else{
        var iRemain = 0;
TimerDifference+=1000;
        iRemain = parseInt((oEndDate.getTime() - oNowDate.getTime()) / 1000);
TimerDay=Math.abs(Math.floor(TimerDifference/1000/60/60/24));
        if(iRemain <= 0) {
TimerHour=Math.abs(Math.floor(TimerDifference/1000/60/60%24));
            clearInterval(timer);
TimerMinute=Math.abs(Math.floor(TimerDifference/1000/60%60));
            iRemain = 0;
TimerSecond=Math.abs(Math.floor(TimerDifference/1000%60));
            alert('请输入大于今天的时间');
TimerPMrs[CountTimers].innerHTML = "还有";
        }
};
                   
TimerDays[CountTimers].innerHTML=TimerDay + "";
        var iDay = parseInt(iRemain / 86400);
TimerHours[CountTimers].innerHTML=TimerHour + "";
 
TimerMinutes[CountTimers].innerHTML=TimerMinute + "分";
        iRemain %= 86400;
TimerSeconds[CountTimers].innerHTML=TimerSecond + "秒";
        var iHour = parseInt(iRemain / 3600);
 
};
        iRemain %= 3600;
};
        var iMin = parseInt(iRemain / 60);
setInterval(TimerRun,0);
 
        iRemain %= 60;
        var iSec = iRemain;
 
        if(iDay<3) { document.getElementById('start').style.color = "red";}
        else{
            if(iDay<7) { document.getElementById('start').style.color= "orange";}
            else{document.getElementById('start').style.color= "green"}
        }
 
        sTxtDay.innerHTML = fillZero(iDay, 2);
        sTxtHour.innerHTML = fillZero(iHour, 2);
        sTxtMin.innerHTML = fillZero(iMin, 2);
        sTxtSec.innerHTML = fillZero(iSec, 2);
    }

2020年8月18日 (二) 13:25的版本

/*--倒计时--*/
function $(el) {
    if(typeof(el) == 'string') {
        return(document.getElementById(el));
    }
    return(el);
    }

function fillZero(num, digit) {
    var str = '' + num;
    if(str.length < digit) {
    str = '0' + str;
    }
    return str;
    }
window.onload = function() {
	$('.timer').html('<div class="container"><div class="row clearfix"><div class="col-md-12 column"><h1>倒计时计算器</h1><br><div class="time">年: <input type="number" min="2020" max="2099" value="2020" />月: <input type="number" min="1" max="12" value="8" />日:<input type="number" min="1" max="31" value="18" /><br>时: <input type="number" min="0" max="24" value="0" />分: <input type="number" min="0" max="60" value="0" />秒: <input type="number" min="0" max="60" value="0" /> <p>此次活动为:<input type="text" placeholder= "我是活动名称" onfocus="cls()" onblur="res()" style="color:gray; font-size: 12px;" onkeyprese="pre(this)"/> </p><p>结束时间为:<b>2020 年 8月 18 日 0 时 0 分</b> </p><div class="start" style="color:red;"><p>距离活动结束时间还有:</p><span>00</span>天<span>00</span>小时<br><span>00</span>分<br><span>00</span>秒<br></div><p><button type="button" class="btn" onclick="call()">计算</button></p></div>');
    var oDiv1 = $('time');
    var sInput = oDiv1.getElementsByTagName('input');
    var oYear = sInput[0]; 
    var oMonth = sInput[1]; 
    var oDay = sInput[2] 
    var oHour = sInput[3]; 
    var oMinute = sInput[4]; 
    var oSecond = sInput[5] 
    var oDiv2 = $('start');
    var pSpan = oDiv2.getElementsByTagName('span');
    var sTxtDay = pSpan[0]; 
    var sTxtHour = pSpan[1] 
    var sTxtMin = pSpan[2] 
    var sTxtSec = pSpan[3] 
    var oTxtTarget = document.getElementsByTagName('b')[0];
    var timer = null;
    $('btn').onclick = function() {
        timer = setInterval(updateTime, 1000);
        updateTime();
    }

    function updateTime() {
    //var oDiv2 = $('start');
        var sYear = Math.abs(oYear.value);
        var sMonth = Math.abs(oMonth.value);
        var sDay = Math.abs(oDay.value);
        var sHour = Math.abs(oHour.value);
        var sMinute = Math.abs(oMinute.value);
        var sSecond = Math.abs(oSecond.value);
        if(sMonth > 12 || sDay > 31 || sHour > 24 || sMinute > 60 || sSecond > 60){
            clearInterval(timer);
            alert('输入错误');
            return;
        }
        oTxtTarget.innerHTML = sYear + ' 年 ' + sMonth + ' 月 ' + sDay + ' 日 ' + sHour + '时' + sMinute+ '分' +sSecond + '秒';
        var oEndDate = new Date(sYear, (sMonth - 1), sDay, sHour, sMinute, sSecond);
        var oNowDate = new Date();
        var iRemain = 0;
        iRemain = parseInt((oEndDate.getTime() - oNowDate.getTime()) / 1000);
        if(iRemain <= 0) {
            clearInterval(timer);
            iRemain = 0;
            alert('请输入大于今天的时间');
        }
                    
        var iDay = parseInt(iRemain / 86400); 

        iRemain %= 86400;
        var iHour = parseInt(iRemain / 3600); 

        iRemain %= 3600;
        var iMin = parseInt(iRemain / 60); 

        iRemain %= 60;
        var iSec = iRemain; 

        if(iDay<3) { document.getElementById('start').style.color = "red";}
        else{
            if(iDay<7) { document.getElementById('start').style.color= "orange";}
            else{document.getElementById('start').style.color= "green"}
        }

        sTxtDay.innerHTML = fillZero(iDay, 2);
        sTxtHour.innerHTML = fillZero(iHour, 2);
        sTxtMin.innerHTML = fillZero(iMin, 2);
        sTxtSec.innerHTML = fillZero(iSec, 2);
    }