Собсно надо объединить 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.)