0

我的项目的目标是创建一个匹配的图片游戏,用户点击两个图像。每次单击图像后,它将翻转到其备用图像。如果两张图片匹配,那么我将删除(或隐藏)这两张图片。当所有图片都被删除时,游戏结束。

我有一段 HTML,如下所示。

<body>
    <img src = "somepicture.jpg" onclick = "SomeFunction()" id = "pic0">
    <img src = "someotherpicture.jpg" onclick = "SomeFunction()"  id = "pic1">
    ...etc...
</body>

我也有 JavaScript 代码,它生成每个元素并赋予每个元素属性。

每次我生成一个 img 时,我都想将它与一个我自己声明的片段对象链接起来。片对象的想法是能够存储一个成员变量状态,它决定了图片是面朝下(未点击)还是面朝上(选中)。但我不确定如何将每个 img 元素的 id 属性与我创建的片段对象链接起来。或者,如果这甚至是解决这个问题的最佳方法......

我正在考虑制作一系列碎片。数组的索引应该与 img 元素的 id 属性的最后一个字符匹配。

例如,piece[10] 将映射到 document.getElementById("pic10")。但我不确定如何做到这一点。

提前感谢您的投入!

4

3 回答 3

0

数组可以包含文本键。用那个。

var pieces = [];
pieces['pic10'] = "active";
于 2012-10-02T19:38:37.170 回答
0

对于一个非常简单但不是非常优雅的解决方案,您可以从前缀和数组索引构建 id 字符串。

对于数组中的映射索引 i,

document.getElementById("pic" + i)
于 2012-10-02T19:39:46.860 回答
0

代替onclick属性,将“单击”事件处理程序附加到您的图像。事件处理程序接收一个事件对象作为第一个属性。事件对象的target属性包含对引发事件的 dom 元素的引用。所以你可以得到引发事件的图像的 id event.target.id

于 2012-10-02T19:41:06.937 回答