プログラミングのハ ..
642: ボウズハゼ(宮城県)
10/06/19 17:35:15.38 TbsXmvj3
>>641
どのonclickも同じ関数を(クリックされた場所の番号を渡して)呼ぶようにして、その関数内で処理を分けるようにすればいい。
例えば関数fnを用意しておいて、ブロック表示の部分をこういうふうに書く。ちなみに固有のidを割り振ってある。
//ブロック表示
for(i=1; i<=yy; i++){
for(j=1; j<=xx; j++){
document.write('<span id="block_'+i+'_'+j+'" class="+empty[i][j]+" onClick="fn('+i+','+j+')">#</span>');
}
document.write("<br>");
}
これで一つ一つのブロックが <span id="block_i_j" 〜〜 onclick="fn(i,j)">#</span> の形になった。
んで関数fnはこんな感じにする
function fn(i,j)
{
if ( ita[i][j] == 9)
alert("アウトーーーーーーーーーー!!!!!!");
document.getElementById("block_"+i+"_"+j).innerHTML = ita[i][j];
}
document.getElementById("block_"+i+"_"+j) でi,j番目のブロックのエレメントにアクセスできるので、後から中身を好きにできる。
fn(i,j) が "i,j番目のブロックを開く"って意味なら、fnを再帰的に呼び出して"ある条件を満たす他のブロックを一気に開く"って操作もできる。
function fn(i,j)
{
if ( ita[i][j] == 9)
alert("アウトーーーーーーーーーー!!!!!!");
document.getElementById("block_"+i+"_"+j).innerHTML = ita[i][j];
if(ita[i][j]==0)
fn(i+1, j)
}
↑クリックした場所が0ならもう1マス隣のを開く、とか。こんな感じでがんばれ。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4150日前に更新/150 KB
担当:undef