2013-03-21 3 views
1

При нажатии Ctrl +A, чтобы выделить все мои холсты, которые взяты из этого, последняя строка, кажется, быть пустым или все вместе взятые. Я пытаюсь сделать сетку 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> на end, так как это означает, что последняя строка не будет выбрана.

Добавление canvas { border: 1px solid #000 } делает его выглядеть следующим образом:

a

+0

если я рассчитывать <= 16, то 1 дополнительный один втягивается в нижней – Kelvin

+0

@Kelvin Я обновил свой ответ. –

0

Ваш код хорошо, но швы, что холст элемент не выбран при нажатии CTRL + только <br/> элементы. Он будет работать, когда вы добавите еще один <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

еще одна вещь, когда у меня есть этот код выше вы писали, он говорит, что один из холстов пустой ..... в то время как (количество <16) { \t \t имя вар = «canvas_» + рассчитывать; \t \t var canv = document.getElementById (имя); \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 \t} – Kelvin

+0

@Kelvin Как предполагается, это потому, что после подчеркивания есть пробел в '

Смежные вопросы