老师,运行到这里的时候总是提示说 countdown.js 中的 digit[num] is undefined, 请帮忙看看

来源:3-3 倒计时的时间计算

狂奔的机器

2015-04-03 12:14



var WINDOW_WIDTH = 1024;
var WINDOW_HEIGHT = 768;
var RADIUS = 8;
var MARGIN_TOP =60;
var MARGIN_LEFT =30;

const endTime = new Date(2015,6,11,18,47,52);  // 距离截止日期
var curShowTimeSeconds=0;

window.onload=function(){

    var canvas = document.getElementById('canvas');
    var context = canvas.getContext('2d');

    canvas.width = WINDOW_WIDTH;
    canvas.height = WINDOW_HEIGHT;

    curShowTimeSeconds = getCurrentShowTimeSeconds();
    render(context);
}


function getCurrentShowTimeSeconds () {
    // body...

    var curTime = new Date();

    var ret = endTime.getTime() - curTime.getTime(); //截至时间和当前时间的差值

    ret = Math.round(ret/1000);

     return ret > 0 ? ret : 0;

}

function render(cxt){

    
    var hours = parseInt(curShowTimeSeconds/3600);
    var minutes = parseInt((curShowTimeSeconds - hours*3600)/60);
    var seconds = curShowTimeSeconds%60;

    renderDigit(MARGIN_LEFT, MARGIN_TOP, parseInt(hours/10), cxt);
    renderDigit(MARGIN_LEFT+15*(RADIUS+1), MARGIN_TOP, parseInt(hours%10), cxt);
    renderDigit(MARGIN_LEFT+30*(RADIUS+1), MARGIN_TOP, 10, cxt);


    renderDigit(MARGIN_LEFT+39*(RADIUS+1), MARGIN_TOP, parseInt(minutes/10), cxt);
    renderDigit(MARGIN_LEFT+54*(RADIUS+1), MARGIN_TOP, parseInt(minutes%10), cxt);
    renderDigit(MARGIN_LEFT+69*(RADIUS+1), MARGIN_TOP, 10, cxt);

    renderDigit(MARGIN_LEFT+78*(RADIUS+1), MARGIN_TOP, parseInt(seconds/10), cxt);
    renderDigit(MARGIN_LEFT+93*(RADIUS+1), MARGIN_TOP, parseInt(seconds%10), cxt);

}

function renderDigit(x, y, num, cxt){

    cxt.fillStyle = "rgb(0,102,153)";

    for(var i=0; i < digit[num].length; i++)
        for(var j=0; j< digit[num][i].length; j++)
            if(digit[num][i][j]==1){

                cxt.beginPath();
                cxt.arc(x+j*2*(RADIUS+1)+(RADIUS+1), y+i*2*(RADIUS+1)+(RADIUS+1), RADIUS, 0, 2*Math.PI);
                cxt.closePath();

                cxt.fill();

            }
}

写回答 关注

1回答

  • zejiaaaa
    2015-05-15 21:15:39

    文件错了 是digit.js

炫丽的倒计时效果Canvas绘图与动画基础

学习HTML5中最激动人心的技术Canvas,彻底释放自己的创造力

96746 学习 · 1000 问题

查看课程

相似问题