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

Объединение нескольких clientRect
Собсно надо объединить clientRect'ы нескольких элементов.
Сейчас делаю так:
arr //массив элементов
i  //arr.length
var result = {'top':[],'bottom':[],'left':[],'right':[]}, position;
while(i--) {
	position = arr[i].getBoundingClientRect();
	for(var j in result) result[j].push( position[j] );
}
position = {
	'top'	: Math.min.apply(0,result.top),
	'left'	: Math.min.apply(0,result.left),
	'bottom': Math.max.apply(0,result.bottom),
	'right'	: Math.max.apply(0,result.right)
}

Но как-то оно неэстетично смотрится. И чувство возникает, что можно сделать как-то красивее, без лишних телодвижений.(делаю для себя поэтому могу потратить часок другой на эстетические изыски )
Нужен только ff, так что можно использовать всё вплоть до js1.8.)
__________________
29375, 35

Последний раз редактировалось Aetae, 18.08.2012 в 12:20.
Ответить с цитированием