4

i行とj列の図のようなパターンを作成したいと思います。

このコードはすべての場合に機能するわけではありません。

var z = 0
  for(var i = 0;i<s;i++)
    for(var j = 0;j<o;j++,z++)
      color = (z%2==1?"white":"gray");

チェス

ここで遊ぶことができます。

4

3 に答える 3

6

3番目の変数を使用するのではなく、iとjを足して、これを試してください。

for (var i = 0; i < s; i++)
  for (var j = 0; j < o; j++)
    color = ( (i + j) % 2 == 1 ? "white" : "gray" );
于 2012-08-29T12:27:42.477 に答える
2

この条件を使用します:

color = (i + j) % 2 == 1 ? "white" : "gray";
于 2012-08-29T12:30:17.393 に答える
0

モジュロを追加xして取得します。y

// ...

var table$ = $('<table>');
for(var y = 0; y < s ; y++) {
  var tr$ = $('<tr>');
  for(var x = 0; x < o; x++) {
    var td$ = $('<td>').css({
      width: p_w,
      height: p_h,
      'background-color': getColor(x, y)
    });
    tr$.append(td$);
  }
  table$.append(tr$);
}

// ...
var Color = {
  GRAY: '#aaa',
  WHITE: '#fff'
};

function getColor(x, y) {
  return (x + y) % 2 === 0 ? Color.WHITE: Color.GRAY;
}

デモ

于 2012-08-29T12:51:07.317 に答える