【发布时间】:2020-10-12 08:48:55
【问题描述】:
如何使用 javascript 在 HTML 中创建类似的内容?
实际上,我知道如何在 HTML 中创建矩形,但想做这样的事情。 HTML 画布可以是任何大小,但每当加载页面时,都会生成多个具有随机大小和颜色的正方形,而不会重叠。当我尝试这样做时,矩形以列表形式生成。我是一名网络开发人员(面向 ruby on rails),但对此类 javascript 内容不熟悉。任何帮助将不胜感激。
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();
});
})();
【问题讨论】:
-
@Paulie_D 问题非常具体。每当页面加载时,都会创建一个宽度等于屏幕的 div。这个 div 需要包含图像中的块,这些块以随机颜色随机定位但不相互重叠。我是一名 ruby on rails 开发人员,对这种 javascript 编码的经验较少。任何帮助将不胜感激。
-
@Paulie_D 我很抱歉我没有分享代码。
-
OK...已投票重新开放。
-
您是否需要特定数量的方格?你想要什么淡入/淡出?所有的方块都在一起,还是依次消失?要求不重叠会给您的算法增加很多复杂性;要求严格吗?
-
@ScottMermelstein Number 不需要超过 10 个。所有的块都需要出现和消失。事实上,现在在代码中它们会自动出现和消失,它们需要是静态的,因为我会将随机化的东西分配给一个按钮。但是,是的,它不需要重叠。
标签: javascript html css canvas