Javascript 如何将此对象附加到等轴测地图上的特定平铺?
我有一个等轴测地图,有可选择的瓷砖。地图由一个矩阵组成,如Javascript 如何将此对象附加到等轴测地图上的特定平铺?,javascript,jquery,append,Javascript,Jquery,Append,我有一个等轴测地图,有可选择的瓷砖。地图由一个矩阵组成,如$('div')。gameMap({map:[[{“tile”:“tile_0”,“object”:“anObjectEntile”},{“tile”:“tile_3”,“object”:“}],{…}]],地图大小:3})如果该磁贴在对象中有某个对象:,则该磁贴在该磁贴的顶部有该对象(在我的例子中,是一个石油井架的图像) 有一个“放置”按钮,单击该按钮时,应将井架对象放置在当前选定的平铺顶部 然而,我遇到了两个问题: 知道当前选择了哪个
$('div')。gameMap({map:[[{“tile”:“tile_0”,“object”:“anObjectEntile”},{“tile”:“tile_3”,“object”:“}],{…}]],地图大小:3})代码>如果该磁贴在对象中有某个对象:
,则该磁贴在该磁贴的顶部有该对象(在我的例子中,是一个石油井架的图像)
有一个“放置”按钮,单击该按钮时,应将井架对象放置在当前选定的平铺顶部
然而,我遇到了两个问题:
知道当前选择了哪个磁贴
增加单个石油井架
起初,我想找到一种方法来修改地图的矩阵,将对象的名称(oildrick
)插入到磁贴的对象参数中,但现在我认为更好的解决方案是将oildrick
附加到磁贴中。我不知道如何附加到特定的磁贴,而不是每个磁贴
我已经设置了代码来查看和使用:
地图的矩阵中设置了一个Oilderick对象供您查看,可以通过删除矩阵中的单词Oilderick
来删除该对象
我玩了$(“.tile”).append($(“.oildrick”)代码>虽然我知道这会附加到每个磁贴上。但我对追加的了解还不够,还没有弄清楚如何将其限制在单个实例中
每个瓷砖都有一个唯一的ID。我也尝试过这样做,以便在某个瓷砖上添加一个石油井架:
$("#placeButton").click(function()
{
for (var y in config.map)
{
for (var x in config.map[y])
{
document.getElementById(obj.attr('id') + '_tile_' + x + '_' +y).appendChild(".oilDerrick");
}
}
}
但这也无济于事。我想我的方向是对的?有人能帮忙吗?
你的代码有点乱。例如,您可以使用jquery,但是有很多直接的DOM操作
.style.background = ...
// should be
.css("background",...)
最重要的是:
document.getElementById(...)
// should be
$("#...")
更容易,你不觉得吗?然后,通过创建一个varcurrentTile
并在用户选择一个tile时保存它,就可以简单地解决这个问题。单击“位置”时,$(currentTile).append($(“.oildrick”)代码>和井架移动到所选瓷砖的位置
无论如何,您可以在链接中看到更多详细信息。
你的代码有点乱。例如,您可以使用jquery,但是有很多直接的DOM操作
.style.background = ...
// should be
.css("background",...)
最重要的是:
document.getElementById(...)
// should be
$("#...")
更容易,你不觉得吗?然后,通过创建一个varcurrentTile
并在用户选择一个tile时保存它,就可以简单地解决这个问题。单击“位置”时,$(currentTile).append($(“.oildrick”)代码>和井架移动到所选瓷砖的位置
无论如何,您可以在链接中看到更多详细信息。太棒了,您都改进了代码并解决了问题!天才!现在唯一的问题是为什么在你移除井架后不能再次“重新附加”…我以为这是个主意。这里有一个标志vardrillPlaced=true
,只需在$(“#placeButton”)中对其进行注释即可。单击(function()…
,下面是一个关于看似附加的问题的后续问题,如果您想看一下:-)太棒了,您都改进了代码并解决了问题!天才!现在唯一的问题是为什么在你移除井架后不能再次“重新附加”…我以为这是个主意。有一个标志vardrillPlaced=true
,只需在$(“#placeButton”)中对其进行注释即可。单击(函数()…
,如果您想查看,这里有一个关于看似附加的问题的后续问题:-)