我正在制作一个 js 函数:
- 创建一个新 div
- 将新创建的 div 的 xy 坐标与其他已经存在的div 进行比较
- 如果新 div 的默认坐标已被现有 div 占据,则对角碰撞新 div
所以,如果我单击一个按钮并创建一个新的 div(一个可拖动的框),我只想快速扫描页面上已经存在的所有框的坐标,如果我找到一个已经有坐标的框放置在页面上的新框,将新框向下和向左一点。我可能还会把它放在一个循环中,以防最初的碰撞将它完全放到另一个盒子上。
我也在使用 jquery,如果这能得到回应。我已经知道如何进行编码,我的问题是方法。
我想知道哪个会更快地进行比较:
- 将所有现有的 div 坐标对存储在 js 数组中(当拖动任何 div/框时会更新,实际上是先发制人地使用下一种方法),然后运行一个函数检查索引是否存在
- 或 - - 一个循环遍历所有盒子 div 的 js 函数(它们都有一个共同的 css 类),直接在页面上检查所有现有的 div 坐标(而不是寻找存储在数组中的它们)
出于任何其他原因,我不需要将坐标存储在数组中,因此如果它一开始就不是更好的方法,那将是不必要的。将坐标存储在数组中基本上与后一种方法执行相同的过程,但我很好奇通过该数组的 javascript 是否会比首先检查坐标的过程更快。
我猜性能差异不会特别显着,但我很好奇哪种方法更明智。