메뉴 건너뛰기

관리자2021.08.22 15:47
2 부분이 잘못되었네요.

1. 2 라인의 수정이 필요합니다.
<button onclick="click()">원 그리기</button> -> <button onclick="draw()">원 그리기</button>
function click() { -> function draw() {

왜냐하면 click 이라는 이름의 함수는 이미 document 객체에 만들어진 함수이므로 onclick="click()" 라고 하면 버튼이 클릭될 때 독자가 만든 함수가 아니라
이미 만들어진 함수를호출합니다.
그래서 click() 이라는 이름 대신 draw() 로 함수 이름을 바꾸면 좋겟다는 것입니다. draw() 대신에 독자가 원하는 아무 이름이나 만들어도 됩니다.


2. context 객체를 알아내어야 하는 과정이 생략되었군요.
다음 2 라인이 draw() 함수 앞부분에 context를 사용하기 전에 작성되어야 합니다.
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");

3. 결론적으로 독자의 코드를 수정하면 다음과 같습니다.
<!DOCTYPE html>
<html>
<head>
<title>버튼</title>
</head>
<body>
<h3>버튼 누르면 원이 그려져요</h3>
<hr>
<canvas id="myCanvas" style="background-color: aliceblue" width="820" height="470"></canvas>
<script>
function draw() {
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");

context.beginPath();
context.arc(410, 235, 50, 0, 2*Math.PI, false);
context.lineWidth = 10;
context.strokeStyle = "blue";
context.stroke();
}
</script>
<button onclick="draw()">원 그리기</button>
</body>
</html>
파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
위로