Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用html/js创建可点击网格的最有效方法是什么?_Javascript_Html_Grid_Click_Minesweeper - Fatal编程技术网

Javascript 使用html/js创建可点击网格的最有效方法是什么?

Javascript 使用html/js创建可点击网格的最有效方法是什么?,javascript,html,grid,click,minesweeper,Javascript,Html,Grid,Click,Minesweeper,我正在尝试建立一个扫雷舰式的游戏,我可以通过网络与我爸爸分享。我如何使用循环来创建网格,并使每个索引位于我可以操纵的特定坐标处?谢谢大家 您可以使用多维数组(数组数组) var gridWidth=10; var-gridHeight=10; var网格=[]; 对于(变量y=0;y

我正在尝试建立一个扫雷舰式的游戏,我可以通过网络与我爸爸分享。我如何使用循环来创建网格,并使每个索引位于我可以操纵的特定坐标处?谢谢大家

您可以使用多维数组(数组数组)

var gridWidth=10;
var-gridHeight=10;
var网格=[];
对于(变量y=0;y
现在您有了一个10x10的网格,您可以通过网格[x][y]访问该网格

用HTML在页面上表示这一点取决于您使用的框架。如果您想使用原始javascript执行此操作,您可以输出一个表

document.write('<table>');
var gridWidth = 10;
var gridHeight = 10;
var grid = [];
for(var y = 0; y < gridHeight; y++)
{
    document.write('<tr>');
    grid.push([]);
    for(var x = 0; x < gridWidth; x++)
    {
        document.write('<td onclick="alert(\'clicked\');">');
        grid[y].push(0);
        document.write('</td>');
    }
    document.write('</tr>');
}
document.write('</table>');
document.write(“”);
var-gridWidth=10;
var-gridHeight=10;
var网格=[];
对于(变量y=0;y
您可以使用多维数组(数组数组数组)

var gridWidth=10;
var-gridHeight=10;
var网格=[];
对于(变量y=0;y
现在您有了一个10x10的网格,您可以通过网格[x][y]访问该网格

用HTML在页面上表示这一点取决于您使用的框架。如果您想使用原始javascript执行此操作,您可以输出一个表

document.write('<table>');
var gridWidth = 10;
var gridHeight = 10;
var grid = [];
for(var y = 0; y < gridHeight; y++)
{
    document.write('<tr>');
    grid.push([]);
    for(var x = 0; x < gridWidth; x++)
    {
        document.write('<td onclick="alert(\'clicked\');">');
        grid[y].push(0);
        document.write('</td>');
    }
    document.write('</tr>');
}
document.write('</table>');
document.write(“”);
var-gridWidth=10;
var-gridHeight=10;
var网格=[];
对于(变量y=0;y
这将为您提供一些单击事件,报告列和行

css:

html:


javascript:

$('.table').on('click', 'td', function () {
    console.log($(this).attr('data-row'));
    console.log($(this).attr('data-column'));
})

var columns = 10, rows = 10

function createGrid(columns, rows) {
    var table = $('.table');

    for (var i = 0; i < rows; i++) {
        var row = $('<tr>');
        table.append(row)
        for (var j = 0; j < columns; j++) {
            var cell = $('<td>')
            cell.attr('data-row', i);
            cell.attr('data-column', j)
            row.append(cell);
        }
    }
}
createGrid(columns, rows);
$('.table')。在('click','td',function(){
log($(this.attr('data-row'));
log($(this.attr('data-column'));
})
变量列=10,行=10
函数createGrid(列、行){
变量表=$('.table');
对于(变量i=0;i
这将为您提供一些单击事件,报告列和行

css:

html:


javascript:

$('.table').on('click', 'td', function () {
    console.log($(this).attr('data-row'));
    console.log($(this).attr('data-column'));
})

var columns = 10, rows = 10

function createGrid(columns, rows) {
    var table = $('.table');

    for (var i = 0; i < rows; i++) {
        var row = $('<tr>');
        table.append(row)
        for (var j = 0; j < columns; j++) {
            var cell = $('<td>')
            cell.attr('data-row', i);
            cell.attr('data-column', j)
            row.append(cell);
        }
    }
}
createGrid(columns, rows);
$('.table')。在('click','td',function(){
log($(this.attr('data-row'));
log($(this.attr('data-column'));
})
变量列=10,行=10
函数createGrid(列、行){
变量表=$('.table');
对于(变量i=0;i
这正是我想要的。在html中有什么特别需要做的吗?我使用Chrome,所以这不应该是个问题。很明显,你需要添加所有的游戏逻辑。StackOverflow不会为您编写,但如果您陷入困境,请随时提问:)谢谢!我的意思是,除了基本的html结构之外,我还需要一个已经用html编写的表吗?好吧,我上面编写的代码将为您输出它,但是document.write()是一个不好的做法,原因有几个——我只是为了演示而添加它。理想情况下,您应该使用框架—例如,jQuery非常流行。我个人在做任何事情时都会使用Angular,但有一个学习曲线,上面说“clickableGrid”没有定义。我使用的是jquery 1.12.3,这正是我想要的。在html中有什么特别需要做的吗?我使用Chrome,所以这不应该是个问题。很明显,你需要添加所有的游戏逻辑。StackOverflow不会为您编写,但如果您陷入困境,请随时提问:)谢谢!我的意思是,除了基本的html结构之外,我还需要一个已经用html编写的表吗?好吧,我上面编写的代码将为您输出它,但是document.write()是一个不好的做法,原因有几个——我只是为了演示而添加它。理想情况下,您应该使用框架—例如,jQuery非常流行。我个人在做任何事情时都会使用Angular,但有一个学习曲线,上面说“clickableGrid”没有定义。我正在使用jquery1.12.3
$('.table').on('click', 'td', function () {
    console.log($(this).attr('data-row'));
    console.log($(this).attr('data-column'));
})

var columns = 10, rows = 10

function createGrid(columns, rows) {
    var table = $('.table');

    for (var i = 0; i < rows; i++) {
        var row = $('<tr>');
        table.append(row)
        for (var j = 0; j < columns; j++) {
            var cell = $('<td>')
            cell.attr('data-row', i);
            cell.attr('data-column', j)
            row.append(cell);
        }
    }
}
createGrid(columns, rows);