0

我有一个使用 table 标签在 HTML 中创建的表格。我正在尝试使用 javascript 中的函数从该表中随机选择几个单元格。我使用 for 循环进行迭代。请看下面的代码。在这段代码中,我的 for 循环限制是 300,所以我希望随机选择 300 个单元格。但是,只选择了 3-4 个。有任何想法吗?

这是我的代码:

function random_Pattern() {
    var p;
    var q;
    for (var r = 0; r < 301; r++) {
        p = Math.floor(Math.random() * grid_width)+1;
        q = Math.floor(Math.random() * grid_height)+1;
        var cell = document.getElementById("myTableID").rows[p].cells[q];
        cell.style.backgroundColor = "red";

    }

}
4

2 回答 2

0

您的单元格选择代码应该有一些问题,因为其余的工作正常:http: //jsbin.com/atukuf/1/edit

当然,有可能多次选择某些单元格并且计数不会达到 300 个不同的单元格,但它不能少到 3-4 个。

于 2013-06-28T05:00:11.863 回答
0

在这个问题中没有多少信息可以使用,但这里有一个想法。看起来pandq是倒退的:p基于grid_width但用于索引行(垂直)。同样,q基于grid_height但用于索引单元格(水平)。

如果grid_widthgrid_height非常不同,这可能会导致您只选择一小部分单元格。

我认为你应该有:

p = Math.floor(Math.random() * grid_height)+1;
q = Math.floor(Math.random() * grid_width)+1;
var cell = document.getElementById("myTableID").rows[p].cells[q];
于 2013-06-28T05:00:39.500 回答