Javascript 创建旋转形状的背景
我正在尝试创建一个以旋转形状为背景的容器。现在它们随机插入容器中,这是可取的,但不是必需的。它们必须在容器内部,并且不能相互碰撞 我已经寻找了一个关于如何做到这一点的解释,也尝试了很多东西,但似乎没有得到任何工作。任何建议或技巧,以实现这一点是高度赞赏 这是我的目标: 这就是我现在得到的:Javascript 创建旋转形状的背景,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试创建一个以旋转形状为背景的容器。现在它们随机插入容器中,这是可取的,但不是必需的。它们必须在容器内部,并且不能相互碰撞 我已经寻找了一个关于如何做到这一点的解释,也尝试了很多东西,但似乎没有得到任何工作。任何建议或技巧,以实现这一点是高度赞赏 这是我的目标: 这就是我现在得到的: var container = document.getElementById('container'); for (var i = 1; i <= 10; i++) { var squar
var container = document.getElementById('container');
for (var i = 1; i <= 10; i++) {
var squarePositionX = Math.floor(Math.random() * 300);
var squarePositionY = Math.floor(Math.random() * 100);
var circlePositionX = Math.floor(Math.random() * 200);
var circlePositionY = Math.floor(Math.random() * 80);
var square = document.createElement('div');
square.className = 'square';
square.innerHTML = '';
square.style.top = squarePositionY + 'px';
square.style.left = squarePositionX + 'px';
container.appendChild(square);
var circle = document.createElement('div');
circle.className = 'circle';
circle.innerHTML = '';
circle.style.top = circlePositionY + 'px';
circle.style.left = circlePositionX + 'px';
container.appendChild(circle);
}
第一步是从形状的可能位置减去形状的宽度和高度: var squarePositionX=数学。floorMath。随机*集装箱宽度-平方宽度 然后你必须检查这个空间是否被占用,要检查这个你可以 遍历所有元素并询问它们的大小和位置 保存每个元素的大小和位置 在下面的代码片段中,我迭代了所有元素,并创建了一个函数来检查它们是否冲突 var container=document.getElementById'container'; var containerWidth=container.clientWidth; var containerHeight=container.clientHeight; var形状参数=15; var=2.5; 变量形状=[正方形、圆形、三角形]; 变形金刚; 风险价值金额=200; var escape=金额*100; var k=0; 对于var i=0;i<数量;i++{ k++; var shapePositionX=Math.floorMath.random*containerWidth-shapedAmeter+containerAdding; var shapePositionY=Math.floorMath.random*containerHeight-shapeDiameter+containerAdding; var shaperotion=Math.floorMath.random*360; var shape=document.createElement'div'; shape.className=形状[i%3]; shape.innerHTML=; shape.style.top=shapePositionY+'px'; shape.style.left=shapePositionX+‘px’; shape.style.transform=旋转+形状旋转+角度; 容器形状; allShapes=container.children; 如果i>0{ 对于var j=0;j
谢谢你的回答和解释。我用减法更新了提琴,比如正方形的宽度和高度。但我觉得我做得不好。我添加了迭代来检查大小和位置。但我不知道我怎么才能保存它。我可以保存它,然后问这个位置是否有形状,然后把它放在其他地方吗?感谢所有的帮助和解释: