1
개체를 기반으로 2 열 그리드를 만들려고합니다. 결국 직사각형에 텍스트를 넣고 싶습니다. 내가 생각 해낸 것을 보여 드리겠습니다. 주된 문제점은 두 번째 열의 위치가 균등하지 않다는 것입니다. 여백이 제대로 표시되지 않습니다.캔버스가있는 2 열 그리드
$(function(){
var questions = {
\t question1 : ["This is a question for statement 1 This is a question for statement 1", 7],
\t question2 : ["This is a question for statement 2 This is a question for statement 2", 3],
\t question3 : ["This is a question for statement 3 This is a question for statement 3", 8],
\t question4 : ["This is a question for statement 4 This is a question for statement 4", 8],
\t question5 : ["This is a question for statement 5 This is a question for statement 5", 8],
\t question6 : ["This is a question for statement 6 This is a question for statement 6", 8],
\t question7 : ["This is a question for statement 7 This is a question for statement 7", 8],
\t question8 : ["This is a question for statement 8 This is a question for statement 8", 8]
}
var canvas = $("canvas")[0];
var ctx = canvas.getContext("2d");
\t
\t var count0 = 0;
\t var count1 = 1;
for(var question in questions){
\t var i = Object.keys(questions).indexOf(question);
\t var a = i - 1;
\t
\t ctx.fillStyle = "green";
\t if(i % 2 == 0 && i == 0){
\t \t ctx.fillRect(0, (i * 1) * 200, 200, 200)
\t }else if(i % 2 == 0 && i !== 0){
\t \t count0++
\t // \t console.log("count", count0)
\t \t ctx.fillRect(0, (i * 1) * 210 - (200 *count0), 200, 200)
\t }else if(i % 2 == 1 && i == 1){
\t \t ctx.fillRect(210, 0 * 200, 200, 200)
\t }
\t else if(i % 2 == 1 && i !== 1){
\t \t count1++
\t // \t console.log("count", count1)
\t \t ctx.fillRect(210, (i * 1) * 207 - (200 *count1), 200, 200)
\t \t // ctx.fillRect(210,())
\t }
\t \t \t
\t \t \t
\t }
\t \t })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<canvas id "myCanvas" width = "700px" height = "1000px"></canvas>
그것은 훌륭한 솔루션입니다. 언젠가 너만큼 잘되기를 바란다. –