|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Создание таблицы |
|
|
Создание таблицы
|
(*.*) Сообщения: 36567 |
Доброго времени суток!
Озадачился я вопросом о создании таблицы с чередующимся фоном строк. Допустим я задаю фон каждой строки через <tr bgcolor="mycolor">. Однако, если мне надо вставить одну строку в середину таблицы, то вся последовательность фонов сбивается. Менять вручную как-то неправильно кажется, и наверняка существует решение задачи, о котором мне пока неизвестно. Может фон надо как-то иначе задавать? Подскажете? Спасибо за внимание. [s]Исправлено: Vadikan, 8:56 23-10-2004[/s] |
|
------- Отправлено: 08:55, 23-10-2004 |
Ветеран Сообщения: 659
|
Профиль | Отправить PM | Цитировать к сожалению телепаты не вернулись еще из отпуска
В какой проге рисуем таблицы? В обычных html редакторах это возможно с применением скриптования (если сие возможно), иначе никак, можно поискать специализированные тулзы для таблиц, IMHO! |
Отправлено: 12:18, 23-10-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать Можно ещё с помощью CSS
Для всех TR задать в таблице стилей один цвет А для исключений сделать свой ID, и вставлять его там, где нужен отличный от стандартного цвет То есть это всё примерно так будет выглядить: |
------- Отправлено: 12:52, 23-10-2004 | #3 |
Ветеран Сообщения: 659
|
Профиль | Отправить PM | Цитировать vadimiron
И чем это отличается от bgcolor='mycolor' ? |
Отправлено: 15:00, 23-10-2004 | #4 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать если страница не статическая, то генерить id с прибавлением 1 и дальше всем td с четным id назначить один цвет, с нечетным - другой (вызывая соответствующую функция bp <bоdy onLoad"=функция()">
Если статика - хуже. Можно все-таки попробовать генерировать id строчек атоматически (например, задействовав какую-то JavaScript переменную и загоняя туда id=эта переменная ++), а дальше, как выше, но сдается мне, что эта самая JavaScript-овская генерация не такой простой зверь, как кажется =( |
|
Отправлено: 15:44, 23-10-2004 | #5 |
![]() Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать archy
Так в этом то и есть смысл CSS, например у меня 100 ячеек, и вдруг захотелось изменить у них bgcolor, тогда я вместо того, что руками меняю у каждой ячейки bgcolor='mycolor', просто лезу в файл со стилями и изменяю всего один параметр и всё Это намного удобней и более читабельно |
------- Отправлено: 15:45, 23-10-2004 | #6 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать я тут еще подумала (насчет автоматического генерации id для статических таблиц) - может быть проще будет воспользоваться id таблицы и поиграть свойствами firstchild и т.д. (но только для броузеров, понимающих DOM)
vadimiron проблема в том, что, судя по всему, Вад хочет создать табличку (строк эдак на полтораста, а потом вставить туда строку, скажем между 75 и 76-ой (раздвинуть ряды) и не хочет переписывать не свойства, ни id у всех рядов с 77 по 150) |
Отправлено: 16:00, 23-10-2004 | #7 |
Ветеран Сообщения: 659
|
Профиль | Отправить PM | Цитировать vadimiron
Ту не внимательно прочитал вопрос видимо ![]() mar может Javascript пробежаться по всей таблице (<tr> ![]() /me погряз в скриптовании... |
Отправлено: 16:40, 23-10-2004 | #8 |
just mar Сообщения: 3904
|
Профиль | Отправить PM | Цитировать archy
об одном ![]() придумала (только это для броузеров, поддерживающих DOM): <html> <head> <title>test</title> <script> <!-- function color_trs() { var table = document.getElementById("t"); var trs = table.getElementsByTagName("tr"); var count = trs.length; for (var i = 0; i < count; i++) { if (Math.round(i/2) == (i/2) ) trs[i].style.backgroundColor="blue"; else trs[i].style.backgroundColor="yellow"; } } // --> </script> </head> <BODY onLoad="color_trs();"> <table id="t" border="5"> <tr><td>1</td><td>2</td></tr> <tr><td>4</td><td>5</td></tr> <tr><td>7</td><td>6</td></tr> <tr><td>8</td><td>9</td></tr> <tr><td>10</td><td>11</td></tr> </table> </body> </html> Добавлено: вот та же функция, но работающая для всех таблиц документа: function color_trs() { var trs, trs_count, j; // массив элементов с именем тега table var tables = document.getElementsByTagName("table"); var tables_count = tables.length; for (var i = 0; i < tables_count; i++) { // для каждой таблицы // массив элементов с именем тега tr trs = tables[i].getElementsByTagName("tr"); trs_count = 0; trs_count = trs.length; for (j = 0; j < trs_count; j++) { // для каждой строки // назначаем четным и нечетным разные цвета фона if (Math.round(j/2) == (j/2) ) trs[j].style.backgroundColor="blue"; else trs[j].style.backgroundColor="yellow"; } } } (что-то какая-то ерунда с форматированием кода, ну да ладно - желающие могут брать его из примеров) [s]Исправлено: mar, 18:05 23-10-2004[/s] |
Отправлено: 16:49, 23-10-2004 | #9 |
Ночной странник Сообщения: 4050
|
Профиль | Сайт | Отправить PM | Цитировать мне тоже очень интересен этот вопрос тоже очень интересен, но вот а если браузер не поддерживает дом и если не хочентся это прописывать в ПХП скриптах?
|
------- Отправлено: 20:47, 23-10-2004 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Mysql, оптимизация таблицы (создание индексов) | ivank | Вебмастеру | 7 | 07-03-2007 17:47 | |
Создание и заполнение таблицы StringGrid в Делфи | Bronko | Программирование и базы данных | 2 | 22-09-2006 13:41 | |
Таблицы | swine | Вебмастеру | 11 | 08-05-2004 18:25 | |
Таблицы в ДЕЛФИ | Limon | Программирование и базы данных | 4 | 20-09-2002 15:13 |
|