当前位置: 首页 > 知识库问答 >
问题:

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

刘弘济
2023-03-14

我有以下JavaScript代码***

var pos=文档。getElementById('pos')<位置样式。位置='相对'<位置样式。宽度='100%'<位置样式。高度='100%'<位置样式。背景='灰色'
对于(i=1;i

HTML代码:***

第一个元素的位置正确,顶部为0px,左侧为30px,但是第二个和第三个元素的位置不正确,我尝试使用显示作为内联元素,但仅将它们设置在同一行上,但未设置左侧位置。结果如图所示

但我希望它显示为:

共有2个答案

汤承德
2023-03-14
 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';  //added 
     div.style.marginLeft = '1%';       //added
     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);
     }

将每个div显示到inline块,并给它们一个边距,以便进行检查

孙朝明
2023-03-14

添加一个display:inline块,并将一些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);
     }

检查小提琴

 类似资料:
  • 我有一个jquery函数,它允许一个元素可以拖动和调整大小,并且工作得很好。我想给它添加的是设置一个元素可以拖动和调整大小的位置。更具体地说,在我的代码中,我想让我的元素可以在两行(v1和vh)的空格之间拖动。有没有办法做到这一点?感谢任何帮助。提前道谢。 null null

  • 如何获得元素和在特定位置的位置数组的和而不需要循环。 想象一下 输出 该方法的问题是 数组的多次重复导致更高的内存使用率 null null 为什么不使用 > 这本来是一个解决方案,但我之所以会这样做,是因为我没有使用正键(我真的这样做在php部分是不公平的) 你说的大数据集是什么意思: null

  • 问题内容: 我尝试使用下面的代码将命令输出存储在数组中,但是在“ while循环”之后无法打印数组元素,这意味着在代码的最后一行中,我的代码是否存在任何问题? 问题答案: 问题是您在 子 外壳中添加了元素。详细说明: 导致在子shell中执行,这是一个单独的执行环境。这意味着设置的变量不适用于 当前 外壳,其执行环境不会受到影响。您可以改为使用流程替代来实现相同目的: 请注意,不建议解析。尝试使用

  • 我必须编写一个函数,对y位置的位进行左循环移位。例如,如果我将:01011000和2作为y,则函数必须返回011000001。 我已经尝试使用但它似乎是无用的。

  • 问题内容: 我以这个简单的HTML为例: 我想要简单的事情- 单击按钮时,我想将插入符号(光标)放入可编辑div中的特定位置。通过网络搜索,我将这个JS附加到了按钮单击上,但是它不起作用(FF,Chrome): 是否可以像这样手动设置插入符号的位置? 问题答案: 在大多数浏览器中,您需要和对象。您可以将每个选择边界指定为一个节点,并在该节点内指定一个偏移量。例如,要将插入符号设置为文本第二行的第五

  • 本文向大家介绍获取元素在Java ArrayList中的位置,包括了获取元素在Java ArrayList中的位置的使用技巧和注意事项,需要的朋友参考一下 可以使用方法java.util.ArrayList.indexOf()获得ArrayList中元素的位置。此方法返回指定元素首次出现的索引。如果该元素在ArrayList中不可用,则此方法返回-1。 演示此的程序如下所示- 示例 输出结果 现在