Задать вопрос
@wargych

Как обновить шахматное поле без перезагрузки страницы?

Добрый день, нужна помощь разбирающихся в js, сам в нем не силен.
Пробую написать игру наподобие онлайн шашек/шахмат, за образец кода js взял один из вариантов, найденных в интернете.

Там есть массив поля:
var board;
Board(1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,-1,0,-1,0,-1,0,-1,-1,0,-1,0,-1,0,-1,0,0,-1,0,-1,0,-1,0,-1);

Вывод на страницу сделан так:
var square_dim = 45;
document.write("<table border=0 cellspacing=0 cellpadding=0 width="+(square_dim*8+8)
+"<tr><td><img src='black.gif' width="+(square_dim*8+8)
+" height=4><br></td></tr>");
for(var j=0;j<8;j++) {
document.write("<tr><td><img src='black.gif' width=4 height="+square_dim+">");
for(var i=0;i<8;i++) {
if (moveable_space(i,j))
document.write("<a href='javascript:clicked("+i+","+j+")'>");
document.write("<img src='");
if (board[i][j]==1) document.write("you1.gif");
else if (board[i][j]==-1) document.write("me1.gif");
else if (moveable_space(i,j)) document.write("gray.gif");
else document.write("black.gif");
document.write("' width="+square_dim+" height="+square_dim
+" name='space"+i+""+j+"' border=0>");
if (moveable_space(i,j)) document.write("</a>");}
document.write("<img src='black.gif' width=4 height="+square_dim+"></td></tr>");}
document.write("<tr><td><img src='black.gif' width="+(square_dim*8+8)
+" height=4><br></td></tr></table><br>"

Функция clicked получает координаты клетки.
Координаты уходят на сервер по вебсокету, браузер получает новый массив доски board.

Собственно, вопрос - как можно "перерисовать" доску по новому массиву?
document.write перезапишет страницу, innerHTML - не знаю, как получить именно нужные мне элементы.
  • Вопрос задан
  • 80 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@wargych Автор вопроса
Мде, все-таки решил с помощью присвоения id ячейкам и getElementById + innerHTML )
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы