Уже задавал вопрос, но иначе
тут.
Теперь более конкретно:
Собираю коллекцию объектов
var mgal = $(".menu-gallery img");
Далее мне нужно суммировать их ширину. Но при обновлении страницы это либо происходит с некоторыми объектами, либо нет. То есть, если я обращаюсь к свойству так в цикле:
mgal[i]["clientWidth"]
то результатом будет поочерёдный вывод длин, но у нескольких последних(Всегда разное количество, это может быть 1 объект, может 4) объектов он получает 0.
Однако, тут же я в логи вывожу всю коллекцию сразу в лог и по ID вручную смотрю есть ли данное свойство у объекта и чему оно равно, удивительно, но оно есть и отлично от нуля, имеет реальное значение. Почему так проиcходит? как бороться?
пысы: картинки подргузились, это судя по логам, да и вообще по коду.
Живой пример
http://rkkristall.kalentyev.ru/
Сама функция
var mgal = $(".menu-gallery img");
var iterMgalWidth = 0;
var itemMargin = 30;
for(var i = 0; i < mgal.length; i++){
console.log("#"+i+":"+mgal[i]["clientWidth"]);
console.log(mgal);
iterMgalWidth = iterMgalWidth + mgal[i]["clientWidth"] + itemMargin;
if((iterMgalWidth-itemMargin) >= maxWhCont){
$(".menu-gallery .gmenu-item").eq(i).css({"margin-right" : 0});
delete iterMgalWidth;
iterMgalWidth = 0;
}
}
iterMgalWidth = 0;