Col/Colgroup

2 Март 2010

Это еще один псот ненависти к IE, и родился он из первой же задачи на новом проекте. Смысл задачи в том что надо сделать скроллер у таблицы, тоесть есть табличка в которой 10 столбиков но показывать надо только 3 и есть кнопочка вперед/назад которая меняет видимые столбики. Ну на мой любимый затык с математикой и крайними случаями у меня ушло всего два часа :( FAIL! А вот на то чтобы заставить исчезать столбики целых два дня.

Как обычно я решил использовать самый современные технологии, например тэг COL для управления колонками, казалось бы что тут такого страшного, все его поддерживают, да не все могут скрыть, ну да ладно в IE8 работает и этого достаточно. Набросал скриптик на jquery вроде такого


$("#myTbl")
    .find("col")
    .css({visibility:"collapse"})
    .slice(firstVisible, firstVisible + columns)
    .css({visibility:""})

я решил что все уже позади, но не тут то было. Во-первых jquery не может различить видимые и невидимые колонки, о чем я оставил камент на странице описания селектора :visible , но похоже разработчики посчитали что это баг репорт и удалили его. Во-вторых чертов IE8 хоть и умеет прятать колонки не может их правильно отрисовать после этого, получаеться что текст всех скрытых колонок отображаеться под текстом первой видимой в несколько слоев, это легко убрать всего лишь нажав ctrl+A, но сами понимаете - это не выход.

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

  1. ShadowX
    2 Март 2010 в 12:54 | #1
    :) как все запущено :) до коле осел будет портить жизнь честным разработчикам? ;)
  2. 2 Март 2010 в 17:12 | #2
    по больше оптимизма в голосе, говорят бетки IE9 доступны с 1 марта
  3. B@rmaley.e>
    7 Март 2010 в 21:34 | #3
    Где доступны? Кому доступны? Не слышал такого.
Комментирование отключено.