| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Ячейка таблицы |
| Автор: MuToGeN 22.6.2004, 09:22 |
| Точнее не совсем размера ячейки, а отображаемой высоты. display='none' и display='' скроет и откроет ее полностью, а мне нужно, чтоб она плавно открывалась / закрывалась. Знатоки, подскажите плз... Добавлено @ 09:30 ЗЫ Плавно закрыть / открыть - не проблема (setInterval() / setTimeout()). Но вот само изменение размера - ... |
| Автор: Ignat 22.6.2004, 11:43 |
| Ты хочешь после внесения данных в таблицу, или устроит вариант до? Если до - содаешь отдельный столбец, засовываешь туда спейсер и программно меняешь ему высоту от 1 до требуемой. P.S. никогда не пробовал, но прокатит, что-то других мыслей пока нет. |
| Автор: MuToGeN 22.6.2004, 11:47 | ||
|
| Автор: Ignat 22.6.2004, 11:52 | ||
???
А в цикл поставь SetInterval. Кажись так. |
| Автор: GoodBoy 22.6.2004, 13:02 |
| Посмотри вот это: http://forum.vingrad.ru/index.php?showtopic=19737&view=findpost&p=134072. Там хорошо сделано динамически выплывающее меню, может на основе этого можно будет сделать то, что тебе нужно... |
| Автор: MuToGeN 22.6.2004, 17:12 | ||||
Ignat, если для <td> прописать height, то если размер ячейки меньше значения height, то ячейка растянется, а если больше, то это никак не отразится на внешнем виде. То же самое и с id_ячейки.height=i
thnx, щас гляну |
| Автор: Ignat 22.6.2004, 17:44 |
| MuToGeN , сорри, если неточно выразился не для <td>, а для спейсера: <tr><td width=1><img src=spacer.gif height=1 width=1 id="spacer" onLoad="reheight(100);"></td> <td id="content" width=500> </td></tr> Почему я говорил, про выплывание до внесения, потому как размер ячейки не может быть меньше пространства необходимого под содержимое. Можно еще всю таблицу спрятать под непрозрачный слой заданного размера и так же менять свойство top, чтоб она выезжала из-под него. |
| Автор: Sardar 22.6.2004, 22:31 |
| Пара способов: 1) obj.style.http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/clip.asp'oм резать таблицу + двигать сам слой = менюшка из Win98 2) положить таблицу в слой с style.http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/overflow.asp=hidden, эффект как будто мы смотрим на таблицу из окошка, см. ссылку GoodBoy Красивее смотрится прозрачная менюшка как в Win2000, но по моему Опера не имеет фильтра http://msdn.microsoft.com/workshop/author/filter/reference/filters/alpha.asp(прозрачность) |
| Автор: MuToGeN 23.6.2004, 01:48 | ||
clip вроде бы только при position: absolute работает? Или это у меня глюки... |
| Автор: GoodBoy 23.6.2004, 12:04 | ||
Я уже даже не решаюсь утверждать что что-то будет работать только в том или ином бруезере... |
| Автор: MuToGeN 23.6.2004, 14:39 |
| Короче, такое еще решение нашлось по subj-у: при сворачивании обнулить innerHTML (сохранить в переменной). Только вот при разворачивании - хз как узнать высоту ячейки... |
| Автор: Sardar 23.6.2004, 20:15 | ||||
Да, как и окошко через style.overflow. Что конкретно происходит? Таблица не на абсолютном слое - сделать плавное движение не получится. Играться с добавлением/удалением строк в таблице не советую - у мозиллы проблемы, забывает колонки, кидая все в одну ячейку. Сделать мягкое движение нельзя не умея передвигать обьект попиксельно, т.е. без style.position=absolute. Необязательно ставить таблицу в слой, можно скрывать строки, а анимацию сделать на одном слое с постоянно меяющемся рядом из таблицы. Эффект - складывающиеся строчки по одной....
В Мозиле и ИЕ будет работать. Опера отдыхает, в ней вообще много чего нет... |
| Автор: mix 25.6.2004, 22:36 | ||
IE6 only
|