#javascript #html #canvas
Вопрос:
Я создаю программу для рисования кругами, она выдает мне одну и ту же синтаксическую ошибку каждый раз, когда я ее запускаю. Кажется, все должно быть в полном порядке, но это не так. Вот код
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> Circle draw</title>
<style type="text/css">
canvas{
border: 1px solid black;
}
body{
margin: 0;
}
</style>
</head>
<body>
<div id="result1"></div>
<div id="result2"></div>
<div id="result3"></div>
<canvas>
</canvas>
<script type="text/javascript">
window.onload = function(){
window.onclick = function(e){
var evt = window.event||e;
document.getElementById("result1").innerHTML = "you made a circle at coordinates: "
document.getElementById("result2").innerHTML = evt.clientX;
document.getElementById("result3").innerHTML = evt.clientY}
var canvas = document.querySelector("canvas");
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
var c = canvas.getContext("2d");
var radius = 50;
var dx = 5;
var dy = 5;
c.beginPath();
c.stroke();
function animate() {
requestAnimationFrame(animate)
var x = document.getElementById(resulet2);
var y = document.getElementById(resulet3);
c.beginPath();
c.arc(x,y,radius,0,Math.PI * 2,false);
c.stroke();
x = dx
y = dy
if( x radius > canvas.width || x - radius < 0){ dx = -dx}
if( y radius > canvas.height || y - radius < 0){ dy = -dy}
}
animate();
</script>
</body>
</html>
Это код, но я сказал об этом все, что возможно, и мне нужно больше деталей, поэтому я просто расскажу о том, что должно произойти, когда код будет запущен. Он должен создать круг, в котором вы нажмете или нажмете, затем переместите его, не очищая другие круги, и отскочите от стен.
Комментарии:
1. Вам не хватает закрывающей фигурной скобки (
}
) в вашемonload
прослушивателе событий.
Ответ №1:
У вас есть три функции, вы заканчиваете только две. Просто добавьте еще один конец функции }
, и все будет в порядке.