| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Применение библиотек > Анимирование изменения высоты |
| Автор: Glook 7.8.2008, 00:05 | ||
| Пытаюсь анимировать изменение высоты блока используя jquery, но чего-то не получается. Проблема в том, что начально значение блока указано в пикселях, а конечное значение неизвестно. подробнее: Блок с помощью css изначально ограничен по высоте, и его содержимое видно пользователю не полностью. Но при желании пользователь кликает на элемент интерфейса и блок увеличивается по высоте показывая всё содержимое. Содержимое блока меняется, тоесть его конечную высоту в пикселях задать нельзя. Приведённый ниже код работает только наполовину, блок увеличивается, но без анимации... Подскажите, пожалуйста, как это решить.
|
| Автор: krundetz 7.8.2008, 08:33 |
| Насколько я понимаю причина отсутствия анимации в том что используются разные величины. Возможно стоит и конечную величину указывать тоже в пикселях. Для этого просто необходимо вычислить эту величину. Я в свое время подгружал все содержимое делал происовывал его но где нибудь на самом нижнем слое чтоб он небыл заметин пользователю получал у него его размеры и уже вывадил его на экран там где мне нужно было а нужно было точно по середине. Вы можете поступить также только в вашем случае необходимо делать анимацию. |
| Автор: Glook 8.8.2008, 00:37 |
| krundetz, почему же в таком случае анимирование ширины работает корректно даже при разных значениях (начальное в пикселях конечное в процентах) про вычисление высоты не понял... |
| Автор: krundetz 8.8.2008, 05:44 | ||
Надо копать код значит и смотреть как там реализовано и то и другое. Про вычисление все просто у вас изначально есть элемент до размеров которого вам надо увеличить область это может быть и экран и какойо блок. Так вот перед тем как анимировано изменять свой элемент вычислите до каких размеров он должен увеличиться и задайте их как конечные. Возможно стоит попробовать скорость прохождения задать числом а не констаной. Вы пробовали менять slow на normal или fast? |