我该如何使用 JavaScript 在 HTML 中创建类似这样的东西?
实际上,我知道如何在 HTML 中创建矩形,但想要做类似于这个的东西。HTML 画布可以是任何大小,但每当页面加载时,会生成多个随机大小和颜色的正方形而不重叠。当我尝试做到这一点时,矩形以列表形式生成。我是一个 Web 开发人员(以 Ruby on Rails 为导向),但对这种 JavaScript 的东西还很新。任何帮助将不胜感激。
HTML:
![enter image description here](https://istack.dev59.com/M7KL5.webp)
HTML:
<body>
<div id="randBlock" >
</div>
</body>
JavaScript:
(function makeDiv(){
var divsize = ((Math.random()*100) + 50).toFixed();
var color = '#'+ Math.round(0xffffff * Math.random()).toString(16);
$newdiv = $('#randBlock').css({
'width':divsize+'px',
'height':divsize+'px',
'background-color': color
});
var posx = (Math.random() * ($(document).width() - divsize)).toFixed();
var posy = (Math.random() * ($(document).height() - divsize)).toFixed();
$newdiv.css({
'position':'absolute',
'left':posx+'px',
'top':posy+'px',
'display':'none'
}).appendTo( 'body' ).fadeIn(100).delay(300).fadeOut(200, function(){
$(this).remove();
makeDiv();
});
})();