亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我寫第二個數字的時候,只出來第一個?

我寫第二個數字的時候,只出來第一個;然后我把第一個注釋掉,就只出來第二個,第三個數字也不出。 ?也就是 這個renderDigit 只調用了一次!我看老師的代碼沒有特殊處理呀!求解

renderDigit(MARGIN_LEFT, MARGIN_TOP, parseInt(hour/10), context);

renderDigit(MARGIN_LEFT+15*(r+1),MARGIN_TOP,parseInt(hour%10),context);

renderDigit(MARGIN_LEFT+30*(r+1),MARGIN_TOP,10,context);

http://img1.sycdn.imooc.com//56b070ee0001a95b10100661.jpg

完整代碼:

// JavaScript Document

var WINDOW_WIDTH = 1000;

var WINDOW_HEIGHT = 700;

var MARGIN_LEFT = 100;

var MARGIN_TOP = 50

var r = 5;

window.onload = ?function(){

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

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

canvas.width = WINDOW_WIDTH;

canvas.height = WINDOW_HEIGHT;

render(context);

}


function render(context){

var hour = 14;

var minute = 36;

var second = 59;

renderDigit(MARGIN_LEFT, MARGIN_TOP, parseInt(hour/10), context);

renderDigit(MARGIN_LEFT+15*(r+1),MARGIN_TOP,parseInt(hour%10),context);

renderDigit(MARGIN_LEFT+30*(r+1),MARGIN_TOP,10,context);

}


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

cxt.closePath();

cxt.fill();

}

}

}

}


正在回答

2 回答

renderDigit()函數里的

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

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

應該是

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

for(var j=0; j<digit[num][i].length;j++){ 不要等號


0 回復 有任何疑惑可以回復我~
#1

jerryguo 提問者

你真仔細,謝謝
2016-02-02 回復 有任何疑惑可以回復我~

不用客氣~把代碼放在js文件中,f12 chrome調試就可以看到報錯信息了

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么我寫第二個數字的時候,只出來第一個?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號