Перейти к содержимому


HTML - в какой момент происходит ресайз картинок по width=?


  • Вы не можете ответить в тему
Сообщений в теме: 4

#1 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 30 January 2013 - 02:29 PM

Если задать тэгу IMG жесткие размеры (width, height), то картинка по умолчанию ресайзится в эти размеры, если не задано иного. Но! Если я в уже загруженную страничку яваскриптом вставляю (скажем, в <div id="test"></div) HTML-код с заданными шириной-высотой картинки, то картинка не ресайзится, а показывается ее кусок заданных размеров. Так и должно быть, т.е. ресайз происходит однократно в момент загрузки страницы или у меня откуда-то наследуется то самое "задано иное"?

PS. Задача - подгружать AJAX-ом картинки в карусель для "бесконечной" карусели (все товары). Если размеры не менять, то никаких проблем, но хочется делать картинки меньше и одинаковыми, т.к. они слишком крупные даже в /small и размер разный.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#2 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 30 January 2013 - 05:31 PM

(скажем, в &amp;lt;div id="test"&amp;gt;&amp;lt;/div&amp;gt;)


ммм... ты не мог бы вот это оформить в виде кода?!?!

Насколько мне известно ширина и высота картинки должна стать нормальной, никаких кусков быть не должно. Если ты размеры указываешь для картинки.
Если же ты картинку не трогаешь а размеры задаешь для дива с оверфлоу, то тогда понятное дело будет кусок картинки.
  • 0

#3 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 30 January 2013 - 07:34 PM

ты не мог бы вот это оформить в виде кода?!?!

Это "восстановление запомненного собщения" так сработало, а я не заметил. Исправил.

Насколько мне известно ширина и высота картинки должна стать нормальной, никаких кусков быть не должно. Если ты размеры указываешь для картинки.

Т.е. при добавлении в DOM новых элементов браузер заново просчитывает эти элементы, в том числе и ресайзит картинки?

Если же ты картинку не трогаешь а размеры задаешь для дива с оверфлоу, то тогда понятное дело будет кусок картинки.

Да нет, банально <img src="filename" width="75px" heigth="75px">. получаю левый верхний кусочек картинки размером 75х75. Единственно, что там в реальности не DIV, а структура <UL><LI>. Обычная jcarousel, штатный пример с AJAX-подгрузкой составляющих карусели.

Видимо, что-то я в штатном примере таки испортил :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#4 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 30 January 2013 - 07:56 PM

Да нет, банально <img src="filename" width="75px" heigth="75px">.. получаю левый верхний кусочек картинки размером 75х75

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

Чтобы этого избежать попробуй добавлять не в имж размеры а в стили. А при создании объекта допиши класс или айди.
  • 0

#5 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 30 January 2013 - 08:40 PM

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

Тьфу три раза... Чем проще грабли, тем больше бегать :).
1. Забыл в одном месте закрывающий тэг. Т.к. динамически добавляемый в DOM элемент обычным "посмотреть HTML-код" не увидишь, то и не заметил. Возможно, что это и не влияло.
2. jcarousel подгружает новые картинки не по одной, а кучкой, затем пихает их в <LI>, показывая только заданное количество. Другими словами - буферизует. И это главные грабли. Я просто не дожидался, пока прокрутится буфер, для которого ресайз уже произошел.
3. еще что-то ерундовое. Короче, теперь работает как и предполагалось.

В общем, как всегда, ничего сложного, но после того, как исправишь и разберешься :). Теперь надо понять, как заставить jcarousel не буферизовать картинки, а грузить четко по столько картинок, по сколько происходит прокрутка.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)