Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Суммарная ширина всех блоков (https://javascript.ru/forum/jquery/46814-summarnaya-shirina-vsekh-blokov.html)

MadChild 25.04.2014 10:44

Суммарная ширина всех блоков
 
Всем привет. Столкнулся с такой проблемой:
есть ul с абсолютным позиционированием, необходимо задать ему ширину
ширина = сумму ширины всех li, учитывая отступы. делаю я так:
var boxes = $('ul.fb li');
var width = 0;		

for(i=0;i<boxes.length;i++){
	width = Number(width) + Number($(boxes[i]).outerWidth());
}

$('ul.fb').css({'width':width});

Firefox считает замечательно, а вот Chrome почему то выдает на 567px меньше ширину и куда капать я не знаю((

рони 25.04.2014 11:02

MadChild,
а кода побольше -- html css?
и зачема Number?
width += boxes.eq(i).outerWidth();

и почему for а не
boxes.each()

и почему i без var ?
и где
.ready()?

BETEPAH 25.04.2014 11:09

Цитата:

Сообщение от MadChild
и куда капать я не знаю

В стакан капайте.
Простите, не удержался. По существу Вам уже ответили. Добавлю только, что если отступы - это маржины, то надо outerWidth(true)

krasovsky 25.04.2014 11:17

Ты что то вроде этого хотел?
http://jsfiddle.net/2ZwjA/

BETEPAH 25.04.2014 11:26

krasovsky,
display:blcok;

:blink:

krasovsky 25.04.2014 13:11

Цитата:

Сообщение от BETEPAH (Сообщение 309193)
krasovsky,
display:blcok;

:blink:

Ужасающая ошибка

MadChild 25.04.2014 14:16

1) это кусок только выполняемого кода, ready() конечно есть, если вы о
$(document).ready(function () {});

2) Отступы padding

а по сути какая разница each иль for, суть то одна?! не считая минимализма и красивости кода

P.S. с
Цитата:

Сообщение от рони
width += boxes.eq(i).outerWidth();

все заработало))


Часовой пояс GMT +3, время: 06:30.