Поисковая форма:) поиск по free-lance.ru Топ/история/обновления фриланса, по разным параметрам (темы, сообщения, пользователи...) Автоматическое удаление постов от ненужных юзеров в топике (php скрипт) Досье(точный ник)
 

Ник (или часть ника):
?
Какой текст ищем:
?
Раздел блогов:
За срок
дней
Тип поиска: (по вхождению: по тексту гуг выдаст посты с "гуг", "гугл", "огугл"; "полнотекстовый": по тексту "гуг" выдаст посты только с "гуг")
По вхождению строки:  Полнотекстовый: 
(поиск не 100% актуальный, есть определённая задержка при обновлении данных для поиска. )
0 Всего найдено: 12
Saint Сообщение 10/02/2012 17:33 Копия темы
Определение высоты изображения эти стили слишком расширяли блоги и они ломались, поэтому пока закомментил-->
Сразу предупреждаю img.height() дело не ограничется.

Итак есть последовательный вывод элементов. 
var elements = $('.root', context).children();
elements выводится одним за другим и определяется высота. Проблема в том, что в одном элементе есть картинка. И высота определяется не правильно посколько картинка еще не прогрузилась. 
А мне нужно получить высоту именно с картинкой. 

Что пробовал:
1: .load() – не проконал, поскольку срабатывает после вставки всех остальных элементов.

2: предварительная закрузка изображения. Не прокатило, поскольку мне нужна высота не фактическая, а реальная (то есть картинки уже с ресайзом). А картинка помечена max-width:100%; и стоит в блоке width:30%;

Как поступить? Любые идеи подкидывайте.
pro_verst Сообщение 10/02/2012 17:55 Копия темы
$(document).ready(function(){

   здесь код

})
Saint Сообщение 10/02/2012 17:56 Копия темы
facepalm
pro_verst Сообщение 10/02/2012 18:00 Копия темы
не понял...
Saint Сообщение 10/02/2012 18:02 Копия темы
Вы хоть почитайте сабж.
Faat Сообщение 10/02/2012 18:14 Копия темы
Язык/фреймворк-то какие?
Faat Сообщение 10/02/2012 18:27 Копия темы
Вот так я неожиданно узнал, что .load() используется не только для загрузки данных.

> .load() – не проконал, поскольку срабатывает после вставки всех остальных элементов. 
$('img').load() сработает сразу после загрузки картинки. Причём тут остальные элементы?
Free-man Сообщение 10/02/2012 19:13 Копия темы
я возможно ничего не понял
но типа так
jsbin.com/utikow (фиддл крякнул. простите)
RiDDi Сообщение 10/02/2012 21:04 Копия темы
Что ж там за вывод такой у Вас? Тупо цикл что ли? ))

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

Ну, например

function step()
{
  // получаем элемент
  ...
  if( если это картинка – загружаем){
    var img = new Image;
    img.src = '';
    img.onload = function(){
       //меряем
       ...
       //продолжаем работу
       step()
   }
    }else step() // если нет идем дальше
    
}
trushka Сообщение 11/02/2012 01:42 Копия темы
А, понял. Надо предварительно не только загружать картинки, а и отображать блоки, только в контейнере со style='visibility:hidden', например, на load() картинок повесить просчёт высоты, а когда все загрузятся (и, соответственно, посчитается) – начать последовательный вывод путём добавления в нужное место на странице
RiDDi Сообщение 11/02/2012 21:13 Копия темы
А если у него бесконечный контент – ну типа запрашиваемый по мере надобности? )
В любом случаи рациональнее считать и выводить на ходу.
Saint Сообщение 11/02/2012 22:42 Копия темы
Вопрос решен. Достаточно просто предзагружать все изображения. А после с ними можно делать что угодно. Иными словами .load тащит (ну или onload), но надо по другому слегка.
0

©2008 edogs egods
Выразить восторг, поругаться
или предложить что-нибудь можно на форуме
Для обсуждения этого сервиса так же есть темы на фрилансе по
поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал"