JavaScript 数学/循环动态创建行和列

标签 javascript math loops

所以,我有一小段代码可以生成行和列的框,框之间有空格。

看起来工作正常;然而,当我将框的高度和宽度设置为 32 像素并将它们之间的空间设置为 8 像素时,框应该在的位置开始出现间隙。

如果我使用任何其他数字,它们都可以,但当然我的想法是 32 和 8。

我想知道这是否是我循环创建盒子的方法,或者是否存在一些我不理解的底层数学。

这是使用相关代码设置的 jsFiddle:

http://jsfiddle.net/dondon/zMnuK/

如果将 JS 部分中的“间距”修改为 7 或 9,间隙就会消失。 8(或4)是什么导致间隙出现?

任何意见都值得赞赏! :)

最佳答案

它与多个具有相同 id 的盒子有关,并且在两个盒子上设置了 css,以便它们最终处于完全相同的位置。例如,创建的第三个框的 x 位置(x 与循环顺序垂直)为 88px,y 位置为 8px。然后很久以后,在第三行出现一个 y = 88px、x = 8px 的框。已达到,因此 'box' + x + y; 对于这两个框来说是相同的。不能有多个元素具有相同的 id,因此此后任何事情都可能发生。

简单的解决方案是更改:

var boxid = "box"+x+y;

致:

var boxid = "box"+x+'_'+y;

Updated JSFiddle

关于JavaScript 数学/循环动态创建行和列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10509244/

相关文章:

javascript - UWP JavaScript 应用程序 : run win32 EXE with parameters

ruby-on-rails - 如何在 Rails View 中循环显示 3 个值

javascript - 通过距离和摩擦力计算速度

objective-c - 是否有现成的字符串形式数学表达式解析器?

vb.net - VB.NET通过音频循环

java - 为什么我的函数在搜索字符串以查找某些子字符串时仅返回 0?

JavaScript 作为第一种编程语言?

javascript - 使用 jQuery 动画不显示 : block

javascript - javascript 的语法问题,一个文件中有多个函数

javascript - 将 Excel 公式转换为 JavaScript 计算