【问题标题】:How can I add/remove element/s by coords from array with javascript?如何使用javascript通过数组中的坐标添加/删除元素?
【发布时间】:2019-07-02 08:40:48
【问题描述】:

我想知道一种从数组中获取坐标的方法,检查这些coords 中是否存在元素,如果不存在则创建它。

这是为即将到来的nodejs 游戏准备的。我尝试了几种技术,但都以嵌套代码和整体性能缓慢结束

为了这个问题,让我们假设我有这个对象数组,或者它也可以来自 json 文件,只要它按预期工作并不重要。

{
 id: 1,
 left: 60,
 top: 10,
 free: 1
},
 id:2 ,
 left: 120,
 top: 10:,
 free: 0
}

我有一个像这样的简单容器

<div style="width: 1000px; height: 300px; background: red;"></div>

现在想象一个由 5 个内联 60x50 框组成的网格,其中 id:1 是第一个框,id:2 是第二个框。如何检查网格框 1 或 2 中是否存在元素/div,如果有,请免费更新:特定 ID 的数组中的 1(存在)或 0(不存在)?

【问题讨论】:

  • 我认为你反过来说:从你的问题来看,UI(HTML / divs)似乎是事实的来源,如果确定的话,“模型”需要更新存在 HTML 元素。通常情况正好相反:模型决定了 HTML 应该如何呈现;您修改模型,HTML 应该反映新的状态。

标签: javascript jquery arrays coords


【解决方案1】:

我能想到的一个解决方案是,在渲染时将 Id 放入 div 中,例如,您的 json 中有 id=1,2 并且您的视图中有 5 个框,如果您渲染 div,则在每个框内,给它一个 id,然后使用 jquery 找到一个 div 像这里:How to find a particular Div using jQuery

或者如果你不能将id放在div上,在盒子的顶部元素(假设它是div)上放置一个id,找到盒子并尝试在那个盒子元素div中找到所需的div。

希望这会有所帮助。

【讨论】:

  • "或者如果你不能把id放在div上,把id放在盒子的顶部元素(假设它是div)上,找到盒子并尝试在那个盒子元素div中找到所需的div。 "结合 jquery find div 方法完美地完成了这项工作。我只需要调整一些东西,但是现在它工作得很好。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-10
  • 2022-01-14
  • 2018-11-04
  • 2020-06-14
  • 2018-01-08
相关资源
最近更新 更多