На странице веб-холста как сбросить события кликов после каждого определенного количества кликов?
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>parallelogram</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<canvas id="canvas" width="800" height="600" style="border:solid 1px;margin:0;padding:0;"></canvas>
</body>
</html>
<script type="text/javascript">
//Declare all the variables
var first = {x: null, y: null};
var second = {x: null, y: 0};
var third = {x: null, y: null};
var fourth = {x: null, y: null};
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var pointsNum = 0;
//Code that draws a point on the canvas
var drawpoint = function (x, y) {
ctx.clearRect(0, 0, 11, 11);
ctx.beginPath();
ctx.lineWidth=3;
ctx.strokeStyle = 'green';
ctx.arc(x, y, 5.5, 0, Math.PI * 2, false);
ctx.stroke();
}
canvas.addEventListener("click", function (e) {
pointsNum++;
if (pointsNum <= 4) {
switch (pointsNum) {
case 1:
first.x = e.pageX;
first.y = e.pageY;
console.log(pointsNum,first.x,first.y);
break;
case 2:
second.x = e.pageX;
second.y = e.pageY;
console.log(pointsNum,second.x,second.y);
break;
case 3:
third.x = e.pageX;
third.y = e.pageY;
console.log(pointsNum,third.x,third.y);
break;
case 4:
fourth.x = e.pageX;
fourth.y = e.pageY;
console.log(pointsNum,fourth.x,fourth.y);
break;
}
console.log(pointsNum);
drawpoint(e.pageX, e.pageY);
}
});
</script>
Текущий консольный журнал выглядит следующим образом:
1 124 105
2 308 105
3 165 268
4 374 275
Первое число - это pointsNum, а последующие два числа - это координаты x, y события щелчка. Как мне сбросить pointsNum после 4-го клика, чтобы получить координаты для каждого клика, плюс pointNum увеличивается с 1-4.
Я пытался использовать цикл while перед событием click, а внутри события click и задав pointsNum == 0, оба параметра поддерживали непрерывную работу цикла без прерывания.