生成不重叠的随机框。 Javascript

Generate random boxes without overlapping. Javascript

我使用这个随机函数来生成顶部和左侧位置。 我如何生成数字以使方框彼此不重叠。

this.posX = Math.floor((Math.random() * 850) + 1);
this.posY = Math.floor((Math.random() * 450) + 1);

Fiddle: http://jsfiddle.net/ftw68b6f/2/

最初您无法阻止它们重叠,但是您可以添加一个 while 循环来检查当前选择的位置是否与任何其他框重叠,如果是的话 select 一个新的随机位置.

如果您使用此选项,您必须注意,当屏幕变满时,循环将花费越来越长的时间,如果没有更多的框适合,则可能会无限长。