![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| prototype |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 19.7.2010 Репутация: нет Всего: нет |
Здравствуйте,
Делаю навигацию стрелками по таблице (как в MS Excel), пытаюсь решить проблему получения соседних ячеек по отношению к активной. В сложных таблицах соседи не всегда очевидны из-за особенностей постороения в HTML, вот пример: ![]() К примеру, ячейка сверху от отмечнной по координатам находится на два ряда выше и на две клетки левее. Приходит в голову просчитывать отдельный массив адресов, но наверняка будут решения получше. Как бы вы решили подобную задачу? Не прошу готовый код, интересует именно способ. |
|||
|
||||
| magelan |
|
|||
![]() потерял xPath ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 5.4.2010 Репутация: 2 Всего: 16 |
по любому бежать по таблице, составлять матрицу
задачи: 1. размерность x-y - сходу кажется простой задачей, но могут быть грабли 2. каждому элементу матрицы вешаем ссылку на физичискую ячейку таблицы, чтобы не париться (возможно еще координаты на первую ячейку). 3. пишем хитрую функцию, которая вычисляет клацнутую ячейку, т.е. делает соответствие таблицы матрице. а вообще это все класс с методами, при рождении цепляется к таблице и возвращает вам ячейку по любому из четырех(восьми) направлений |
|||
|
||||
| prototype |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 19.7.2010 Репутация: нет Всего: нет |
magelan, спасибо! Так и сделаю, буду составляь матрицу, в которой несуществующие "заспаненные" ячейки будут ссылаться на первую.
Думаю, лучше при обходе каждой ячейке заодно прописать в атрибуты x,y координаты. Таблицу обходить-то все-равно придется. Четвертое измерение? |
|||
|
||||
| magelan |
|
|||
![]() потерял xPath ![]() ![]() Профиль Группа: Участник Сообщений: 393 Регистрация: 5.4.2010 Репутация: 2 Всего: 16 |
некоторые устройства ввода позволяют делать лево-верх, право-низ, либо можно нумпад обработать, тогда из ячейки есть 8 вариантов перемещения.
|
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |