学习代码
2015-07-24 16:02
/** * Created by yzsoft on 2015/7/24. */ var WINDOW_WIDTH = 1024; var WINDOW_HEIGHT = 768; var RADIUS = 8; var MARGIN_TOP = 60; var MARGIN_LEFT = 30; const endTime = new Date(2014,7,25,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(); setInterval(function(){ render(context); update(); },50); } function update(){ var nextShowTimeSeconds = getCurrentShowTimeSeconds(); var nextHours = parseInt( nextShowTimeSeconds /3600); var nextMinutes = parseInt((nextShowTimeSeconds - nextHours*3600)/60); var nextSeconds = nextShowTimeSeconds % 60; var curHours = parseInt( curShowTimeSeconds /3600); var curMinutes = parseInt((curShowTimeSeconds - curHours*3600)/60); var curSeconds = curShowTimeSeconds % 60; if(nextSeconds!=curSeconds){ curShowTimeSeconds = nextShowTimeSeconds; } } function getCurrentShowTimeSeconds(){ var curTime =new Date(); var ret = endTime.getTime() - curTime.getTime(); ret = Math.round(ret/1000); return ret >=0?ret :0; } function render(cxt){ cxt.clearRect(0,0,WINDOW_WIDTH,WINDOW_HEIGHT); 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,因为是从0开始计数,也就是0-11月
炫丽的倒计时效果Canvas绘图与动画基础
96746 学习 · 1000 问题
相似问题