Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите решить проблему. (https://javascript.ru/forum/misc/73496-pomogite-reshit-problemu.html)

Shamil1 20.04.2018 09:52

Помогите решить проблему.
 
var canvas = document.getElementById('canvas'),
ctx = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;


var btn1 = document.getElementById('btn1');

function drawRect() {
	var randX = Math.floor(Math.random() * (window.innerWidth + 1));
	var randY = Math.floor(Math.random() * (window.innerHeight + 1));
	ctx.fillRect(randX,randY,10,10);
}

btn1.onclick = function() {
	setInterval(function() {
		drawRect();
	},1000);
}


При клике на кнопку должен создаться квадрат в случайном месте через каждые 1 сек, а если кликать много раз уменьшается время создания т.е создается менее секунды. Как можно исправить?

рони 20.04.2018 10:52

Цитата:

Сообщение от Shamil1
При клике на кнопку должен создаться квадрат в случайном месте через каждые 1 сек,

не осилил!!!

Dilettante_Pro 20.04.2018 13:22

Цитата:

Сообщение от Shamil1
создаться квадрат в случайном месте через каждые 1 сек, а если кликать много раз уменьшается время создания т.е создается менее секунды.

При каждом клике запускается еще один setInterval, и они работают параллельно. Исправить - больше не кликать или сделать button disabled или спрятать.


Часовой пояс GMT +3, время: 19:19.