LINUXTALKS.CO

Как обновлять содержимое ячеек таблицы без перезагрузки страницы?

 

L


0

1

Предположим есть игровое поле отображаемое в виде таблицы на html странице, таблица классическая на теге table. Как обновлять содержимое ячеек (картинки или текст) не перезагружая страницу?

И желательно не всю таблицу разом, а именно те ячейки содержимое которых изменилось.

Полагаю на сервере должен размещаться файл в который пишется журнал изменений, а скрипт в браузере пользователя читает этот журнал.

★★★★★★

Тебе надо адресацию на элементы таблицы делать, чтобы потом можно было через селекторы найти нужную ячейку. А с сервака тупо изменения отдавай в жисоне. Скриптом прямо в DOM меняй.

cocucka    
★★★★★★★★★★
Последнее исправление: cocucka (всего исправлений: 1)

iPhone / Firefox

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

Однако, я ещё очень советую сделать на дивах, которые в стилях можно сделать визуально ячейками, ибо таблица – это пиздец.

deep-purple    
★★★★★★★★★★
Android / Firefox
Ответ на: комментарий от rezedent12

Пока таблица не загрузится полностью, ее содержимое не начнет отображаться. Дело в том, что браузер, прежде чем показать содержимое таблицы, должен вычислить необходимые размеры ячеек, их ширину и высоту. А для этого необходимо знать, что в этих ячейках находится. Поэтому браузер и ожидает, пока загрузится все, что находится в ячейках, и только потом отображает таблицу. Исходя из этого факта, таблицы не используют для хранения большой информации (от 100 кБ). А чтобы ускорить загрузку табличного макета, его разбивают на отдельные таблицы или используют свойство table-layout, применение которого позволяет несколько повысить скорость отображения содержимого таблицы.

deep-purple    
★★★★★★★★★★
Android / Firefox
Ответ на: комментарий от deep-purple

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

Если предварительно задать ширину и высоту столбцов в пикселях? А настраиваться это будет, когда при первой загрузке, пользователя будут просить кликнуть по самому нижнему и правому элементу таблицы который он видит без прокрутки.

В идеале таблица должна загрузиться один раз и потом на протяжении игровой сессии будут обновляться отдельные её ячейки.

table-layout: fixed;

https://htmlbook.ru/css/table-layout

Ведь ширина столбцов будет фиксированной и высота строк тоже.

rezedent12    
★★★★★★
Windows / Firefox