最终我正在制作一个带有桌子的滑块拼图,但目前我正在生成一个新的拼图并对拼贴进行洗牌,但似乎我的代码中的某些内容使得这个工作不正确。 (并非所有表格单元格都已填充,等等。)任何可能导致此问题的原因?
在我写的程序中,我正在使用body onload来构建拼图但由于某些原因在小提琴中不起作用:
</head>
<body onload="newPuzzle(_r, _c)">
</body>
答案 0 :(得分:0)
尝试更改
//declare and populate array
var _array = new Array();
for (var i = 0; i <= r*c; i++)
{
_array[i] = i;
}
到
//declare and populate array
var _array = new Array();
for (var i = 1; i < r*c; i++)
{
_array[i] = i;
}
_array[0] = "";
并改变这个:
var rand = Math.floor(Math.random() * _array.length) + i;
到此:
var rand = Math.floor(Math.random() * _array.length);
只需注意,当您使用新阵列进行随机播放时,第一个配置(0到8)中没有任何一点,这样您就可以删除两个FOR
并只设置一个固定值生成它(在洗牌之前)。
像这样:
gridTable[0].rows[i].cells[j].innerHTML = "0";