titanum
24-08-2011, 15:27
Ciao ragazzi, sono sempre al lavoro sulla scacchiera. Ho creato una funzione dinamica che mi permetterā di aggiornarla ad ogni mossa, ma ho un problema: devo fare in modo che al click del mouse su una casella si attivi una funzione, ho scritto
td.onclik=seleziona(c);
ma non funziona, la funzione esegue quando viene creata la casella e non la crea nemmeno tutta. Come posso risolvere?
Vi posto il resto della funzione, ed anche la funzione che deve essere eseguita quando si clicca sulla casella.
function creaScacchiera()
{
tabella=document.getElementById("tab").getElementsByTagName("TBODY")[0];
var c=0; //contatore di caselle, serve per prendere un elemento nella casella
n=0;//serve per capire il colore della scacchiera, la prima casella add essere disegnata č a8 che č bianca, poi prosegue per riga scendendo
for(i=0;i<8;i++)
{
var n=0;
if(i%2==0)
n=0;
else
n=1;
row=document.createElement("TR");
for(j=0;j<8;j++)
{
td=document.createElement("TD");
if(n%2==0)
td.id="bianco";
else
td.id="nero";
td.onclick="seleziona("+c+")"; //non funziona
td.appendChild(document.createTextNode(caselle[c]));
row.appendChild(td);
n++;
c++;
}
tabella.appendChild(row);
}
}
function seleziona(n)
{
tmp=caselle[n];
if (tmp=="" &&flag>-1)
{
caselle[n]=caselle[flag];
caselle[flag]="";
flag=-1;
cancella();
//creaScacchiera();
}
else
flag=n;
alert("casella "+n);
}
td.onclik=seleziona(c);
ma non funziona, la funzione esegue quando viene creata la casella e non la crea nemmeno tutta. Come posso risolvere?
Vi posto il resto della funzione, ed anche la funzione che deve essere eseguita quando si clicca sulla casella.
function creaScacchiera()
{
tabella=document.getElementById("tab").getElementsByTagName("TBODY")[0];
var c=0; //contatore di caselle, serve per prendere un elemento nella casella
n=0;//serve per capire il colore della scacchiera, la prima casella add essere disegnata č a8 che č bianca, poi prosegue per riga scendendo
for(i=0;i<8;i++)
{
var n=0;
if(i%2==0)
n=0;
else
n=1;
row=document.createElement("TR");
for(j=0;j<8;j++)
{
td=document.createElement("TD");
if(n%2==0)
td.id="bianco";
else
td.id="nero";
td.onclick="seleziona("+c+")"; //non funziona
td.appendChild(document.createTextNode(caselle[c]));
row.appendChild(td);
n++;
c++;
}
tabella.appendChild(row);
}
}
function seleziona(n)
{
tmp=caselle[n];
if (tmp=="" &&flag>-1)
{
caselle[n]=caselle[flag];
caselle[flag]="";
flag=-1;
cancella();
//creaScacchiera();
}
else
flag=n;
alert("casella "+n);
}