Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.12.2013, 23:38
Профессор
Посмотреть профиль Найти все сообщения от imediasun1
 
Регистрация: 23.12.2012
Сообщений: 437

изменить размер изображения
Как изменить размер отображаемой картинки пропорционально
Есть такой код но он не работает почему?
var img = $("#messages img")[0]; // Получаем IMG нашей картинки
var pic_real_width, pic_real_height;
$("<img/>") // Сделаем в памяти копию этой картинки, чтобы избежать проблем с CSS
    .attr("src", $(img).attr("src"))
    .load(function() {
        // Здесь копия нашей картинки загружена и можно получить её размеры
        pic_real_width = this.width;   // Учтите: $(this).width() не сработает
        pic_real_height = this.height; // потому что картинка находится в памяти.
		var img = $("#messages img");
		
		if (pic_real_width>pic_real_height || pic_real_width==pic_real_height){
		ratio=pic_real_width/pic_real_height
		
		img.attr({ width: 300 });
		img.attr({ height: 300/ratio });
		img.css('margin-left',-150);
		img.css('margin-top',-pic_real_height/2);
		
		}
		else{
		img.attr({ height: 300 });
		img.attr({ width: 300/ratio });
		img.css('margin-left',-pic_real_width/2);
		img.css('margin-top',-150);
		}
    });

Почемуто меняется только ширина а высота остается та же в случае когда ширина больше высоты
http://imedia.in.ua/main/page/catalog_add
Ответить с цитированием
  #2 (permalink)  
Старый 24.12.2013, 09:33
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Если задавать только одну сторону, и оставить незаданной другую - то картинка будет автоматически изменяться пропорционально.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 24.12.2013, 11:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,116

Сообщение от imediasun1
Почемуто меняется только ширина а высота остается та же в случае когда ширина больше высоты
потому что ratio нормально не вычисляется
Ответить с цитированием
  #4 (permalink)  
Старый 24.12.2013, 11:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,116

Сообщение от danik.js
то картинка будет автоматически изменяться пропорционально.
... в современных браузерах
Ответить с цитированием
  #5 (permalink)  
Старый 24.12.2013, 14:18
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от рони
... в современных браузерах
А в каких не будет?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 24.12.2013, 15:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,116

danik.js,
по моему во всех ие вплоть до 11
для теста
http://learn.javascript.ru/play/ZGC7Y
версия с изменением высоты и ширины

http://learn.javascript.ru/play/VnfIT

обсуждалось здесь
Проблема с выводом изображений из массива
Ответить с цитированием
  #7 (permalink)  
Старый 24.12.2013, 15:16
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от рони
по моему во всех ие вплоть до 11
странно..

<img style="width: 300px;" src="http://ru.lookatcode.com/show/094733911100775/pict5.jpg" />

в ИЕ8 пропорционально уменьшилось (картинка шире 300пх)
Ответить с цитированием
  #8 (permalink)  
Старый 24.12.2013, 15:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,116

Яростный Меч,
вы проверяли код для теста http://learn.javascript.ru/play/ZGC7Y
Ответить с цитированием
  #9 (permalink)  
Старый 24.12.2013, 15:41
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

рони,

ага, точно.
по непонятным причинам отваливался дефолтный width:auto
вот, поправил (и упростил код)
http://learn.javascript.ru/play/Eq3GPb
Ответить с цитированием
  #10 (permalink)  
Старый 24.12.2013, 15:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,116

Сообщение от Яростный Меч
вот, поправил (и упростил код)
а смысл ? ... ну пусть будет
если интересно, можно ещё на тему глюков с шириной в ие глянуть 1 пример monolithed, из Изменение размеров картинки через скрипт в 8 он точно не сработает.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можно ли изменить размер disgraceful Events/DOM/Window 1 29.11.2012 00:38
размер изображения kesha2304 Общие вопросы Javascript 3 27.07.2012 01:07
Размер изображения (Sandr) Общие вопросы Javascript 6 22.08.2011 17:38
Изменить размер изображений odlf3 jQuery 1 03.06.2011 07:06
Как изменить размер картинки? Mihail Общие вопросы Javascript 1 25.10.2009 13:42