Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

массив и картинки.

316
05 мая 2011 года
Alm3n
889 / / 29.05.2009
Доброго времени суток.
Есть задание: сделать игру шашки на javascript. Завел массив 10Х10, где хранятся либо " ", либо "b", либо "w" соответственно. Это есть игровое поле.
Есть табличка:
Код:
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\" &#111;&#110;click=\"???\"/></td>"
        else if (area[i-1]=="w")
            strTab+="<td><img src=\"white.gif\" WIDTH=\"50\" HEIGHT=\"50\" &#111;&#110;click=\"???\"/></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)

Вопрос: как теперь по нажатию на картиночку определить, какой элемент массива area был выбран?
Тут либо что-то делать с массивом area, либо добавлять еще один массив, где будет храниться пока мне не известно что, либо картиночки размещать в какой-нибудь области с полем name или чем-то подобным, но в этом случае все равно, как мне кажется, нужен еще один массив. Натолкните на мысль.
278
05 мая 2011 года
Alexander92
1.1K / / 04.08.2008
Цитата: 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\" &#111;&#110;click=\"OnClickFunction('b', i);\"/></td>";
 else if (area[i-1]=="w")
    strTab+="<td><img src=\"white.gif\" WIDTH=\"50\" HEIGHT=\"50\" &#111;&#110;click=\"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.
277
05 мая 2011 года
arrjj
1.7K / / 26.01.2011
 
Код:
<img id="индекс_соответствующего_элемента_в_area" ... &#111;&#110;click="твоя_функция(this.id);">...</img>
316
05 мая 2011 года
Alm3n
889 / / 29.05.2009
Цитата: Alexander92

P.S. Я бы вам посоветовал работать не через document.write, а все-таки в рамках DOM-модели. Это более современное решение с точки зрения JS.


Что есть DOM? Если можно, дайте линков.

Цитата: arrjj
 
Код:
<img id="индекс_соответствующего_элемента_в_area" ... &#111;&#110;click="твоя_функция(this.id);">...</img>


Благодарю. Кажется, оно самое.

278
05 мая 2011 года
Alexander92
1.1K / / 04.08.2008
Цитата: Alm3n
Что есть DOM? Если можно, дайте линков.



Document Object Model.
http://javascript.ru/tutorial/dom

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог