问答详情
源自:3-3 倒计时的时间计算

定时器不动~

// JavaScript Document

var canvas=document.getElementById("canvas");

var context=canvas.getContext("2d");

canvas.width=800;

canvas.height=600;


 setInterval(render,10);

 

//console.log(digit);

var r=6;

var timer;

//console.log(x);

var oTime=new Date(2016,4,14,0,0,0);

var nTime=new Date();

var h1=parseInt((oTime-nTime)/(1000*60*60*10)),

    h2=parseInt((oTime-nTime)/(1000*60*60)%10);

var m1=parseInt((oTime-nTime)/(1000*60)%60/10),

    m2=parseInt((oTime-nTime)/(1000*60)%60%10);

var s1=parseInt((oTime-nTime)/(1000)%60/10),

    s2=parseInt((oTime-nTime)/(1000)%60%10);

function render(){

context.clearRect(0,0,800,600); 

draw(0,0,h1,context);

    draw(15*(r+1),0,h2,context);

draw(30*(r+1),0,10,context);

draw(39*(r+1),0,m1,context);

draw(54*(r+1),0,m1,context);

draw(69*(r+1),0,10,context);

draw(78*(r+1),0,s1,context);

draw(93*(r+1),0,s2,context);

}

//console.log(s1);

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

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*(r+1)*2+r+1,y+i*(r+1)*2+r+1,r,0,2*Math.PI);

cxt.fillStyle="blue";

cxt.fill();}

}

}

}//draw


提问者:C阳0 2016-05-12 22:36

个回答

  • qq_慕蓉蓝落_0
    2016-05-13 11:49:56
    已采纳

    不动的原因是,这个时钟是倒计时,所以你设定的oTime一定要是在此刻以后的时间,你设置的是4月14日,明显已经过去了,验证这两个时间差值<0,所以当然不动了

  • C阳0
    2016-05-13 20:16:59

    自己找到原因了,谢谢