![]() |
Доброго времени суток!
Озадачился я вопросом о создании таблицы с чередующимся фоном строк. Допустим я задаю фон каждой строки через <tr bgcolor="mycolor">. Однако, если мне надо вставить одну строку в середину таблицы, то вся последовательность фонов сбивается. Менять вручную как-то неправильно кажется, и наверняка существует решение задачи, о котором мне пока неизвестно. Может фон надо как-то иначе задавать? Подскажете? Спасибо за внимание. [s]Исправлено: Vadikan, 8:56 23-10-2004[/s] |
к сожалению телепаты не вернулись еще из отпуска
В какой проге рисуем таблицы? В обычных html редакторах это возможно с применением скриптования (если сие возможно), иначе никак, можно поискать специализированные тулзы для таблиц, IMHO! |
Можно ещё с помощью CSS
Для всех TR задать в таблице стилей один цвет А для исключений сделать свой ID, и вставлять его там, где нужен отличный от стандартного цвет То есть это всё примерно так будет выглядить: Код:
<tr></tr> - здесь будет стандартный цвет |
vadimiron
И чем это отличается от bgcolor='mycolor' ? |
если страница не статическая, то генерить id с прибавлением 1 и дальше всем td с четным id назначить один цвет, с нечетным - другой (вызывая соответствующую функция bp <bоdy onLoad"=функция()">
Если статика - хуже. Можно все-таки попробовать генерировать id строчек атоматически (например, задействовав какую-то JavaScript переменную и загоняя туда id=эта переменная ++), а дальше, как выше, но сдается мне, что эта самая JavaScript-овская генерация не такой простой зверь, как кажется =( |
archy
Так в этом то и есть смысл CSS, например у меня 100 ячеек, и вдруг захотелось изменить у них bgcolor, тогда я вместо того, что руками меняю у каждой ячейки bgcolor='mycolor', просто лезу в файл со стилями и изменяю всего один параметр и всё Это намного удобней и более читабельно |
я тут еще подумала (насчет автоматического генерации id для статических таблиц) - может быть проще будет воспользоваться id таблицы и поиграть свойствами firstchild и т.д. (но только для броузеров, понимающих DOM)
vadimiron проблема в том, что, судя по всему, Вад хочет создать табличку (строк эдак на полтораста, а потом вставить туда строку, скажем между 75 и 76-ой (раздвинуть ряды) и не хочет переписывать не свойства, ни id у всех рядов с 77 по 150) |
vadimiron
Ту не внимательно прочитал вопрос видимо :) mar может Javascript пробежаться по всей таблице (<tr>) и разукрасить ее как надо? Или мы об одном и том же? /me погряз в скриптовании... |
archy
об одном =) придумала (только это для броузеров, поддерживающих DOM): Код:
Добавлено: вот та же функция, но работающая для всех таблиц документа: Код:
function color_trs() { (что-то какая-то ерунда с форматированием кода, ну да ладно - желающие могут брать его из примеров) [s]Исправлено: mar, 18:05 23-10-2004[/s] |
мне тоже очень интересен этот вопрос тоже очень интересен, но вот а если браузер не поддерживает дом и если не хочентся это прописывать в ПХП скриптах?
|
Vlad Drakula
DOM первого уровня (а тут применялся только он) поддерживается в Netscape >=6 (и, соответственно Mozilla (я проверила на Mozilla 1.4b - *сборка - Gecko/20030507)) , Explorer>= 5, Konqueror, *а также Opera >= 4 с ограничениями, но в уже довольно старой опере 7.0 этот скрипт идет (о тестированиии броузеров уже позовчерашнего =) дня на совместимость с getElementsByTagName() можно почитать тут) Так что при всем моем уважению к кроссброузерности, сейчас (причем уже пару лет как), похоже, можно смело писать подобного рода функции, добавив для собственного спокойствия в начало что-нибудь вроде Код:
if(!getElementsByTagName()) Ну, или поупражняйся с document.write (хотя по-моему будет кривовато получится, если вообще выйдет) [s]Исправлено: mar, 21:35 23-10-2004[/s] |
mar
DOM - это динамическая объектная модель? можно поподробней об этом?:) :biglaugh: |
FADE
Могу ведь и послать... *на w3.org:biglaugh: Про DOM очень хорошая статья была у PPK (Peter-Paul Koch ) Тут нынешний адрес статьи. *А выше я уже давала ссылку на ее перевод (когда-то меня хватило на перевод нескольких статей, а потом текучка заела :( - все те, которые несколько, лежат там же ) Почитай - там, в общем, достаточно подробно =) Еще там дана очень важная вещь - сводные таблицы совместимости (Compatibility tables) * объектов DOM в разных броузерах. То, что я перводила на русский касается более старых броузеров, - но может быть, именно по-этому и стоит посмотреть |
Ого! Вебмастера разошлись :) Большое спасибо всем за ответы.
Цитата:
Цитата:
Цитата:
Код:
var count = trs.length; Я попробую применить это к моей таблице и сообщу о рез-татах. |
Vadikan
ты не совсем прав, у меня все динамическое просто мне с одной стороны не хочется лесть в код, а стругой стороны я борюсь за чистоту кода! |
Vlad Drakula
Хм.... как прикажешь тебя понимать, Саид? (с) Белое солнце пустыни |
Ок, я все сделал. Все получилось именно так, как я и задумывал, задавая вопрос :) Спасибо, mar!
|
Vadikan
а почему все статика а не динамика? |
Vlad Drakula
Банальный ответ - потому, что не умею иначе. Однако, если ты мне расскажешь о преимуществах динамики над статикой в моем конкретном случае, то я буду признателен. |
Имхо она и не нужна - геморрой не стоит свеч. Одна табличка, страниц не так уж и много, а информация слабо формализуема. (Простите, что вмешиваюсь...)
|
Время: 10:54. |
Время: 10:54.
© OSzone.net 2001-