Показать сообщение отдельно
  #5 (permalink)  
Старый 18.08.2012, 16:24
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Пока тогда остановлюсь на таком:
var result = { 'left': Infinity, 'top': Infinity, 'right': -Infinity, 'bottom': -Infinity };
 
while (i--) {
  r = arr[i].getBoundingClientRect();
  if (result.left > r.left) result.left = r.left;
  if (result.top > r.top) result.top = r.top;
  if (result.right < r.right) result.right = r.right;
  if (result.bottom < r.bottom) result.bottom = r.bottom;
}

Смотрится чуток эстетичнее изначально варианта от Дзен-трансгуманист, разницы в скорости нет.

Но другие предложения приветствуются.)
__________________
29375, 35
Ответить с цитированием