strTab="<table border=1> <tr>"
for (i=1;i<=area.length;i++)
{
if (area[i-1]=="b")
strTab+="<td><img src=\"black.gif\" WIDTH=\"50\" HEIGHT=\"50\" onclick=\"???\"/></td>"
else if (area[i-1]=="w")
strTab+="<td><img src=\"white.gif\" WIDTH=\"50\" HEIGHT=\"50\" onclick=\"???\"/></td>"
else
strTab+="<td><img src=\"empty.gif\" WIDTH=\"50\" HEIGHT=\"50\" /></td>"
state[i-1]=0
if (i%10==0) strTab+="</tr><tr>"
}
strTab+="</table>"
document.write(strTab)
массив и картинки.
Есть задание: сделать игру шашки на javascript. Завел массив 10Х10, где хранятся либо " ", либо "b", либо "w" соответственно. Это есть игровое поле.
Есть табличка:
Код:
Вопрос: как теперь по нажатию на картиночку определить, какой элемент массива area был выбран?
Тут либо что-то делать с массивом area, либо добавлять еще один массив, где будет храниться пока мне не известно что, либо картиночки размещать в какой-нибудь области с полем name или чем-то подобным, но в этом случае все равно, как мне кажется, нужен еще один массив. Натолкните на мысль.
Цитата: Alm3n
Вопрос: как теперь по нажатию на картиночку определить, какой элемент массива area был выбран?
Если правильно понял вопрос, можно спокойно передавать через onclick.
Код:
strTab="<table border=1><tr>";
for (i = 1; i <= area.length; i++) {
if (area[i-1]=="b")
strTab+="<td><img src=\"black.gif\" WIDTH=\"50\" HEIGHT=\"50\" onclick=\"OnClickFunction('b', i);\"/></td>";
else if (area[i-1]=="w")
strTab+="<td><img src=\"white.gif\" WIDTH=\"50\" HEIGHT=\"50\" onclick=\"OnClickFunction('w', i);\"/></td>";
else
strTab+="<td><img src=\"empty.gif\" WIDTH=\"50\" HEIGHT=\"50\" /></td>";
state[i-1]=0;
if (i%10==0) strTab+="</tr><tr>";
}
strTab+="</table>";
document.write(strTab);
for (i = 1; i <= area.length; i++) {
if (area[i-1]=="b")
strTab+="<td><img src=\"black.gif\" WIDTH=\"50\" HEIGHT=\"50\" onclick=\"OnClickFunction('b', i);\"/></td>";
else if (area[i-1]=="w")
strTab+="<td><img src=\"white.gif\" WIDTH=\"50\" HEIGHT=\"50\" onclick=\"OnClickFunction('w', i);\"/></td>";
else
strTab+="<td><img src=\"empty.gif\" WIDTH=\"50\" HEIGHT=\"50\" /></td>";
state[i-1]=0;
if (i%10==0) strTab+="</tr><tr>";
}
strTab+="</table>";
document.write(strTab);
P.S. Я бы вам посоветовал работать не через document.write, а все-таки в рамках DOM-модели. Это более современное решение с точки зрения JS.
Код:
<img id="индекс_соответствующего_элемента_в_area" ... onclick="твоя_функция(this.id);">...</img>
Цитата: Alexander92
P.S. Я бы вам посоветовал работать не через document.write, а все-таки в рамках DOM-модели. Это более современное решение с точки зрения JS.
Что есть DOM? Если можно, дайте линков.
Цитата: arrjj
Код:
<img id="индекс_соответствующего_элемента_в_area" ... onclick="твоя_функция(this.id);">...</img>
Благодарю. Кажется, оно самое.
Цитата: Alm3n
Что есть DOM? Если можно, дайте линков.
Document Object Model.
http://javascript.ru/tutorial/dom