2013-03-21 2 views
1

Ctrl + 을 눌러 내 그림 캔버스를 모두 강조 표시하면 마지막 행이 비어 있거나 모두 결합 된 것처럼 보입니다. 나는 캔버스의 4x4 격자를 만들기 위해 노력하고있다. 내 논리 실수는 무엇입니까?4x4 캔버스에서의 논리 오류

var count = 0; 
while (count < 16) { 
    if (count % 4 == 0) 
     document.write("<br><canvas id = \"canvas_ \" + count + \" width = \"50\" height = \"  50\"></canvas>"); 
    else 
     document.write("<canvas id = \"canvas_ \" + count + \" width = \"50\" height = \" 50\"></canvas>"); 
    count++; 
} 

답변

1

난 당신의 코드를 조금 다시 작성했습니다

var count = 0; 
while (count < 16) { 
    if (count % 4 == 0) 
     document.write('<br>'); 
    document.write('<canvas id="canvas_' + count + '" width="50" height="50"></canvas>'); 
    count++; 
} 
document.write('<br>'); 

다른 단지 (예 : 따옴표 두 종류를 사용하여) 코딩 스타일의 방법을 개선하는 것보다, 나는에 <br> 하나 더 추가했습니다 마지막 행이 선택되지 않기 때문입니다.

canvas { border: 1px solid #000 }가이처럼 보이게 추가 :

a

+0

개수가 16보다 작 으면 하단에 1 여분이 그려집니다. – Kelvin

+0

@Kelvin 답변을 업데이트했습니다. –

0

코드는 괜찮습니다하지만 당신은 만 <br/> 요소 CTRL + 를 누를 때 그 캔버스 요소가 선택되지 않은 솔기. 끝에 <br/>을 하나 더 추가하면 작동합니다. 그리고 문자열 안에 코드 수가 잘못되었습니다.

var count = 0; 
document.write("<br>"); 
while (count < 16) { 
    document.write("<canvas id=\"canvas_" + count + "\" width=\"50\" height=\"50\"></canvas>"); 
    count++; 
    if (count % 4 == 0) { 
     document.write("<br>"); 
    } 
} 
+0

감사합니다! 그것은 작동, 당신은 생명의 은인. – Kelvin

+0

하나 내가이 코드가있을 때 가지 더, 당신이 게시 이상, 그것은 ..... 동안 캔버스 중 하나가 null 말한다 (계산 <16) {= "canvas_" \t \t VAR 이름 + 카운트; \t \t var canv = document.getElementById (name); \t \t \t var ctx = canv.getContext ("2d"); \t \t \t 경우 (개수 % 2 == 0) { \t \t \t \t ctx.fillStyle = "# FF0000의"; \t \t \t \t} 다른 { \t \t \t \t ctx.fillStyle = "#의 00FF00"; \t \t \t \t \t} \t \t \t ctx.fillRect (0,0,50, 50); \t \t \t \t 카운트 ++; \t \t \t – Kelvin

+0

@Kelvin'