請問這里哪里出問題了
照著視頻完成的,但最后怎么刷新都是顯示這個,請問是哪里出問題了

html文件:
<!DOCTYPE?html> <html> <head> ??<meta?charset="UTF-8"> ??<title>Countdown</title> ??<link?rel="stylesheet"?href="./style/style.css"> </head> <body> ??<canvas?id="countdown"> ????當前瀏覽器不支持Canvas,請更換瀏覽器后再試 ??</canvas> ??<script?type="text/javascript"?src="Countdown-digit.js"></script> ??<script?type="text/javascript"?src="Countdown.js"></script> </body> </html>
Countdown-digit.js文件:
//?存放模型 digit?= ??[ ????[ ??????[0,?0,?1,?1,?1,?0,?0], ??????[0,?1,?1,?0,?1,?1,?0], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[0,?1,?1,?0,?1,?1,?0], ??????[0,?0,?1,?1,?1,?0,?0] ????],?//0 ????[ ??????[0,?0,?0,?1,?1,?0,?0], ??????[0,?1,?1,?1,?1,?0,?0], ??????[0,?0,?0,?1,?1,?0,?0], ??????[0,?0,?0,?1,?1,?0,?0], ??????[0,?0,?0,?1,?1,?0,?0], ??????[0,?0,?0,?1,?1,?0,?0], ??????[0,?0,?0,?1,?1,?0,?0], ??????[0,?0,?0,?1,?1,?0,?0], ??????[0,?0,?0,?1,?1,?0,?0], ??????[1,?1,?1,?1,?1,?1,?1] ????],?//1 ????[ ??????[0,?1,?1,?1,?1,?1,?0], ??????[1,?1,?0,?0,?0,?1,?1], ??????[0,?0,?0,?0,?0,?1,?1], ??????[0,?0,?0,?0,?1,?1,?0], ??????[0,?0,?0,?1,?1,?0,?0], ??????[0,?0,?1,?1,?0,?0,?0], ??????[0,?1,?1,?0,?0,?0,?0], ??????[1,?1,?0,?0,?0,?0,?0], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?1,?1,?1,?1,?1] ????],?//2 ????[ ??????[1,?1,?1,?1,?1,?1,?1], ??????[0,?0,?0,?0,?0,?1,?1], ??????[0,?0,?0,?0,?1,?1,?0], ??????[0,?0,?0,?1,?1,?0,?0], ??????[0,?0,?1,?1,?1,?0,?0], ??????[0,?0,?0,?0,?1,?1,?0], ??????[0,?0,?0,?0,?0,?1,?1], ??????[0,?0,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[0,?1,?1,?1,?1,?1,?0] ????],?//3 ????[ ??????[0,?0,?0,?0,?1,?1,?0], ??????[0,?0,?0,?1,?1,?1,?0], ??????[0,?0,?1,?1,?1,?1,?0], ??????[0,?1,?1,?0,?1,?1,?0], ??????[1,?1,?0,?0,?1,?1,?0], ??????[1,?1,?1,?1,?1,?1,?1], ??????[0,?0,?0,?0,?1,?1,?0], ??????[0,?0,?0,?0,?1,?1,?0], ??????[0,?0,?0,?0,?1,?1,?0], ??????[0,?0,?0,?1,?1,?1,?1] ????],?//4 ????[ ??????[1,?1,?1,?1,?1,?1,?1], ??????[1,?1,?0,?0,?0,?0,?0], ??????[1,?1,?0,?0,?0,?0,?0], ??????[1,?1,?1,?1,?1,?1,?0], ??????[0,?0,?0,?0,?0,?1,?1], ??????[0,?0,?0,?0,?0,?1,?1], ??????[0,?0,?0,?0,?0,?1,?1], ??????[0,?0,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[0,?1,?1,?1,?1,?1,?0] ????],?//5 ????[ ??????[0,?0,?0,?0,?1,?1,?0], ??????[0,?0,?1,?1,?0,?0,?0], ??????[0,?1,?1,?0,?0,?0,?0], ??????[1,?1,?0,?0,?0,?0,?0], ??????[1,?1,?0,?1,?1,?1,?0], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[0,?1,?1,?1,?1,?1,?0] ????],?//6 ????[ ??????[1,?1,?1,?1,?1,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[0,?0,?0,?0,?1,?1,?0], ??????[0,?0,?0,?0,?1,?1,?0], ??????[0,?0,?0,?1,?1,?0,?0], ??????[0,?0,?0,?1,?1,?0,?0], ??????[0,?0,?1,?1,?0,?0,?0], ??????[0,?0,?1,?1,?0,?0,?0], ??????[0,?0,?1,?1,?0,?0,?0], ??????[0,?0,?1,?1,?0,?0,?0] ????],?//7 ????[ ??????[0,?1,?1,?1,?1,?1,?0], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[0,?1,?1,?1,?1,?1,?0], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[0,?1,?1,?1,?1,?1,?0] ????],?//8 ????[ ??????[0,?1,?1,?1,?1,?1,?0], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[1,?1,?0,?0,?0,?1,?1], ??????[0,?1,?1,?1,?0,?1,?1], ??????[0,?0,?0,?0,?0,?1,?1], ??????[0,?0,?0,?0,?0,?1,?1], ??????[0,?0,?0,?0,?1,?1,?0], ??????[0,?0,?0,?1,?1,?0,?0], ??????[0,?1,?1,?0,?0,?0,?0] ????],?//9 ????[ ??????[0,?0,?0,?0], ??????[0,?0,?0,?0], ??????[0,?1,?1,?0], ??????[0,?1,?1,?0], ??????[0,?0,?0,?0], ??????[0,?0,?0,?0], ??????[0,?1,?1,?0], ??????[0,?1,?1,?0], ??????[0,?0,?0,?0], ??????[0,?0,?0,?0] ????]?//: ??];
Countdown.js文件
var?radius?=?8;
var?margin_top?=?60;
var?margin_left?=?30;
const?endTime?=?new?Date(2019,?7,?14,?22,?04,?52);
var?currentShowTimeSeconds?=?0;
window.onload?=?function()?{
??var?countdown?=?document.getElementById("countdown");
??countdown.width?=?1000;
??countdown.height?=?700;
??if?(countdown.getContext("2d"))?{
????var?context?=?countdown.getContext("2d");
??}?else?{
????alert("當前瀏覽器不支持Canvas,請更換瀏覽器后再試");
??}
??currentShowTimeSeconds?=?getCurrentShowTimeSeconds();
??render(context);
}
function?getCurrentShowTimeSeconds()?{
??var?currentTime?=?new?Date();
??var?ret?=?endTime.getTime()?-?currentTime.getTime();
??ret?=?Math.round(ret?/?1000);
??return?ret?>=?0???ret?:?0;
}
function?render(context)?{
??var?hours?=?parseInt(currentShowTimeSeconds?/?3600);
??var?minutes?=?parseInt((currentShowTimeSeconds?-?hours?*?3600)?/?60);
??var?seconds?=?currentShowTimeSeconds?%?60;
??renderDigit(margin_left,?margin_top,?parseInt(hours?/?10),?context);
??renderDigit(margin_left?+?15?*?(radius?+?1),?margin_top,?parseInt(hours?%?10),?context);
??renderDigit(margin_left?+?30?*?(radius?+?1),?margin_top,?10,?context);
??renderDigit(margin_left?+?39?*?(radius?+?1),?margin_top,?parseInt(minutes?/?10),?context);
??renderDigit(margin_left?+?54?*?(radius?+?1),?margin_top,?parseInt(minutes?%?10),?context);
??renderDigit(margin_left?+?69?*?(radius?+?1),?margin_top,?10,?context);
??renderDigit(margin_left?+?78?*?(radius?+?1),?margin_top,?parseInt(seconds?/?10),?context);
??renderDigit(margin_left?+?93?*?(radius?+?1),?margin_top,?parseInt(seconds?%?10),?context);
}
function?renderDigit(x,?y,?num,?context)?{
??context.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)?{
????????context.beginPath();
????????//?第(i,j)個圓的圓心位置
????????context.arc(x?+?j?*?2?*?(radius?+?1)?+?(radius?+?1),?y?+?i?*?2?*?(radius?+?1)?+?(radius?+?1),?radius,?0,?2?*?Math.PI);
????????context.closePath();
????????context.fill();
??????}
????}
??}
}
2020-04-04
試試把天數改成比現在的天數大
2019-08-16
補充一下,不是ret值不能太大,是Math.round(ret/100000)這個值保持在5位數字以下
2019-08-16
我們程序員呢,最忌諱的是遇事緊張,著急。應該遇到事情先讓自己冷靜下來,一步一步查看。init開始,一步一步打印我們需要的值,看下來發現是 currentShowTimeSeconds 值太大,導致render函數中hours、minutes、seconds三個常量太大,進而導致函數renderDigit中參數num太大,找不到digit數組中的元素,最后顯示你看到的樣子,解決方法:函數getCurrentShowTimeSeconds中的ret/1000改為 ret/100000, ret不能太大,保持在5位數字一下就好。有什么錯誤的地方,請各位同行多多指教