javascript - 设置动态变化的元素的左侧位置(循环中)

标签 javascript

我有以下 JavaScript 代码。 ***

var pos = document.getElementById('pos');
pos.style.position = 'relative';
pos.style.width = '100%';
pos.style.height = '100%';
pos.style.background = 'gray';
for(i=1;i<4;i++)
{
var div = document.createElement('div');
var node = document.createTextNode("This is new.");
div.appendChild(node);
var j = i-1;
var f = Math.round(250/(i+1));
var d = Math.round(250/i);
var col = 'rgb('+f+','+140+','+d+')';
div.style.background = col;
div.style.width = '200px';
div.style.height = '300px';
div.style.position = 'relative';
div.style.top = '0px';
div.style.border = 'solid';
div.style.borderColor = 'green';
div.style.borderWidth = '2px';
left = Math.floor((j*200)+30+30);
left = left+'px';
div.style.left = '30px';
pos.appendChild(div);
}


HTML 代码: ***

<div id = "pos"></div>


第一个元素的位置正确,顶部 0 像素,左侧 30 像素,但是第二个和第三个元素偏离了标记,我尝试使用显示作为内联,但仅将它们设置在同一行,但未设置左侧定位。结果是 as shown in this picture

But I would like it to appear as:

最佳答案

添加一个 display:inline-block 并将一些 margin-right:10px 添加到动态创建的元素

这是编辑后的代码:

var pos = document.getElementById('pos');
     pos.style.position = 'relative';
     pos.style.width = '100%';
     pos.style.height = '100%';
     pos.style.background = 'gray';
     for(i=1;i<4;i++)
     {
     var div = document.createElement('div');
     var node = document.createTextNode("This is new.");
     div.appendChild(node);
     var j = i-1;
     var f = Math.round(250/(i+1));
     var d = Math.round(250/i);
     var col = 'rgb('+f+','+140+','+d+')';
     div.style.background = col;
     div.style.width = '200px';
     div.style.height = '300px';
     div.style.position = 'relative';
     div.style.display="inline-block"; //add this line
     div.style.marginRight="10px";     //add this line
     div.style.top = '0px';
     div.style.border = 'solid';
     div.style.borderColor = 'green';
     div.style.borderWidth = '2px';
     left = Math.floor((j*200)+30+30);
     left = left+'px';
     div.style.left = '30px';
     pos.appendChild(div);
     }

检查fiddle

关于javascript - 设置动态变化的元素的左侧位置(循环中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33184015/

相关文章:

javascript - jQuery getJSON 在对话框关闭之前没有足够的时间执行

javascript - 自定义过滤器不起作用

javascript - 无法渲染父 Prop

javascript - react 文本之间的跨度空间

java - 测试 indexOf 返回值的最佳实践

javascript - 使用 jQuery 的可扩展菜单 - 动画

javascript - 没有 TypeScript 文件的 Javascript 项目中的 TypeScript 错误

javascript - 查找一个数组中比另一个数组中的元素大的元素

MediaWiki 中的 Javascript

javascript - 按钮未在表单内禁用