【发布时间】:2017-01-07 10:07:45
【问题描述】:
我对编程和这个社区都很陌生,我会尽量说清楚。我需要创建一个 16x16 的 HTML 表格,每个单元格中都有一个按钮,每个单元格显示不同的图像 - 笑脸 - 每个单元格,而不会为不同的单元格显示相同的笑脸。我有点卡住了,我也很感激一个提示,只是尝试自己继续前进。谢谢!这是我创建表格并显示图像的代码:
function displayImage(){
var num = Math.floor(Math.random() * 256);
document.canvas.src = '../../output/'+ imagesArray[num]+ '.png';
document.getElementById("YourImage").style.visibility = "visible";
}
for(var r = 0; r < rows;r++)
{
table += '<tr>';
for(var c= 0; c< cols;c++)
{
table += '<td style="width:50px" id="(i++)">' + '<button type="button" onclick="displayImage()">' +
"show me" + '</button>' + '</td>';
}
table += '</tr>';
}
document.write('<table id="grid" border="1">' + table + '</table>');
(为便于阅读,未显示 ImagesArray,但它只是收集了所有 256 个二进制组合)。 这样做的问题是,每次我单击一个按钮时,它都会显示一个随机图像,如果我再次单击同一个按钮,它会显示另一个,而我希望它总是为同一个按钮显示相同的图像。 注意:我不能在之后删除按钮或类似的技巧,因为玩家(这是一个 oTree 实验)需要能够随时回到他看到的笑脸。 非常感谢您的帮助!
【问题讨论】:
-
您应该为图像编号(每行,col)创建一个随机数组并将它们存储在一个数组中。然后当您想在 button_click 上显示图像时使用该信息
-
感谢@S.Serp 的回复,但我很难理解(很可能是我的错,因为我使用 HTML 和 JS 还不到一个月)。您会建议使用 row,col 坐标创建一个数组,并使用它来唯一地将二进制代码(在我的情况下为 00110011、01010101、...)连接到每一行、col 坐标?但是怎么做呢?
-
我已经发布了答案,看看并说出您的评论或任何问题
标签: javascript html html-table otree