Попытка обернуть мою голову вокруг метода setInterval() в JS, поскольку я изучаю JS на данный момент. В качестве упражнения я пытаюсь создать много цветов (которые сейчас только прямоугольники). Я думал, что я мог бы использовать setInterval(), чтобы непрерывно генерировать прямоугольники в различных позициях, например:Невозможно правильно настроить JS setInterval
var c = document.getElementById("primeCanvas");
var ctx = c.getContext("2d");
var xOffset = 10;
function generateFlower(x, y) {
"use strict";
ctx.fillStyle = "#FF0000";
ctx.fillRect(x + xOffset, y, 150, 100);
}
function addOffset(xPos)
{
"use strict";
xOffset+=xPos;
}
setInterval(addOffset(50), 900);
setInterval(generateFlower(10+xOffset,10), 1000);
Однако, когда я бегу сценарий только один прямоугольник появляется в том же месте (или, возможно, больше прямоугольников появляются, но на сверху друг друга). Цель заключалась в том, чтобы один прямоугольник генерировался в секунду, добавляя 50 к расположению x прямоугольника (в холсте HTML).
Может кто-нибудь понять, почему это не работает?
setInterval ("generateFlower()", 1000,10 + xOffset, 10); –
Вы должны передать функцию, а не выполнять ее в параметре. – Brunis