Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.12.2008, 18:38
Интересующийся
Отправить личное сообщение для lanzs Посмотреть профиль Найти все сообщения от lanzs
 
Регистрация: 27.09.2008
Сообщений: 17

Изменение размеров в зависимости от картинки
Имеется: некоеторое подобии галереи, т.е. снизу каруселька с маленькими (уменьшенными) картинками, щелкаем на какую-либо и она занимает место в центральной рамке.

Необходимо сделать следующее: т.к. рамка заданных размеров, то нужно, чтобы: если размеры изображения меньше размеров рамки, то изображение просто вставляется по центру. А если изображение больше, то оно подгоняется под размеры рамки, т.е. принимает размеры рамки.
Как сделать - понять не могу *(( прошу помощи!!
Ответить с цитированием
  #2 (permalink)  
Старый 08.12.2008, 19:33
Интересующийся
Отправить личное сообщение для lanzs Посмотреть профиль Найти все сообщения от lanzs
 
Регистрация: 27.09.2008
Сообщений: 17

для смены картинок использовал этот вариант: http://itsoft.ru/docs/web/c05_swap.php?&for_printing

предположения: использовать offsetHeight и offsetWeight для получения размеров картинки, которая сейчас замещается, а потмо сравниваем и устанавливаем переменные, которые будут иметь либо размер поля, либо размер картинки. Но вот как получить размеры картинки с помощью offsetHeight и offsetWeight и как их потом передать в <img...> - не могу понять *((
до этого, если нужно было получить размеры объекта, то получал их с помощью offsetHeight и offsetWeight обращаясь к нему через document.getElementById('...');

Последний раз редактировалось lanzs, 09.12.2008 в 18:39.
Ответить с цитированием
  #3 (permalink)  
Старый 09.12.2008, 00:30
Интересующийся
Отправить личное сообщение для PavelPetrov Посмотреть профиль Найти все сообщения от PavelPetrov
 
Регистрация: 06.12.2008
Сообщений: 20

Цитата:
если изображение больше, то оно подгоняется под размеры рамки
А если они гораздо больше?... Картинка ужмется. Тут есть один прием (не знаю, подойдет или нет). Можно в <IMG> , где выводится картинка, явно задать высоту(height=n_px) ИЛИ ширину(width=n_px). В вашем случае, если каруселька снизу, то задавать надо высоту а ширину не указывать совсе. Тогда, браузер будет Выводить все картинки заданной высоты, а ширину высчитывать автоматически. Т. е. если по высоте картинка меньше, то браузер ее растянет до указанной. Если больше, то ужмет. При этом ширина будет расчитана автоматически с учетом пропорций.

Последний раз редактировалось PavelPetrov, 09.12.2008 в 01:10.
Ответить с цитированием
  #4 (permalink)  
Старый 09.12.2008, 18:40
Интересующийся
Отправить личное сообщение для lanzs Посмотреть профиль Найти все сообщения от lanzs
 
Регистрация: 27.09.2008
Сообщений: 17

я уже думал об этом, но получается плохо, т.к. есть маленькие картинки, а если их растягивать, то смотрится не очень.
С размерами можно будет что-то придумать, т.е. как их сжимать...это я уже делал, но в php, а вот с java проблемы из-за недостатка знаний...
пока пробую в функции MM_swapImage() получать размеры изображения x и их изменять..но что-то не получается
Ответить с цитированием
  #5 (permalink)  
Старый 10.12.2008, 00:13
Интересующийся
Отправить личное сообщение для PavelPetrov Посмотреть профиль Найти все сообщения от PavelPetrov
 
Регистрация: 06.12.2008
Сообщений: 20

Интересно, можно ли через javascript получить размеры изображения до его загрузки?
Покапался в браузерах (Internet Explorer, Opera, FireFox). Оказалось, что только FireFox "знает" реальные размеры загруженного изображения.:confused: , остальные знают только те, которые в теге <img> или если не указаны, то реальные.
Ничего лучше не придумал, как загружать изображение в невидимом элементе, брать его размеры, вычислять новые размеры (под рамку), изменять атрибуты width и height для видимого изображения и только потом загружать рисунок куда надо.
Черновичек того, что получилось можно посмотреть здесь. Для удобства и меньших вычислений взял квадратную рамку.

Последний раз редактировалось PavelPetrov, 10.12.2008 в 00:25.
Ответить с цитированием
  #6 (permalink)  
Старый 10.12.2008, 00:48
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от PavelPetrov
Интересно, можно ли через javascript получить размеры изображения до его загрузки?
Телепатически чтоли?
Ответить с цитированием
  #7 (permalink)  
Старый 10.12.2008, 19:25
Интересующийся
Отправить личное сообщение для PavelPetrov Посмотреть профиль Найти все сообщения от PavelPetrov
 
Регистрация: 06.12.2008
Сообщений: 20

Kolyaj,
Вместо того, чтобы задавать умные вопросы в ответ на глупые, пояснил бы возможно ли в Internet Explorer получить значения аналогичные naturalHeight и naturalWidth в FireFox.
Ответить с цитированием
  #8 (permalink)  
Старый 10.12.2008, 20:13
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Я в таких случаях не выставляю ширину и высоту в стилях и беру offsetWidth/offsetHeight.
Ответить с цитированием
  #9 (permalink)  
Старый 10.12.2008, 21:07
Интересующийся
Отправить личное сообщение для PavelPetrov Посмотреть профиль Найти все сообщения от PavelPetrov
 
Регистрация: 06.12.2008
Сообщений: 20

Цитата:
Я в таких случаях не выставляю ширину и высоту в стилях и беру offsetWidth/offsetHeight.
Для данной задачи (каруселька снизу), получим эффект дергания при изменении высоты следующей картинки. Пользователю придется постоянно "ловить" карусельку.
Ответить с цитированием
  #10 (permalink)  
Старый 10.12.2008, 21:39
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Создайте еще одну картинку с тем же src. В DOM ее добавлять необязательно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение размеров картинки через скрипт SLV Общие вопросы Javascript 4 27.12.2010 11:40
изменение картинки по событию Dekker8 Общие вопросы Javascript 1 22.09.2008 11:07
Динамическое изменение <input text> baal1988 Events/DOM/Window 4 24.08.2008 17:17
Изменение свойств картинок в документе Gekt0r Общие вопросы Javascript 10 14.08.2008 18:33
Динамическое изменение размеров изображения Макс Элементы интерфейса 7 21.07.2008 16:55