Показать сообщение отдельно
  #1 (permalink)  
Старый 28.10.2012, 13:13
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

Объясните поведение
Что-то совсем дела стали плохи. Есть функция. В ней два цикла for один за другим. Первый цикл выполняется, как и положено: итерация за итерацией. Второй цикл выполняется один раз с максимальным значением. Возникает вопрос - ПОЧЕМУ ОН ТАК СЕБЯ ВЕДЕТ???
function (rdata) {
                    if (typeof void null != typeof rdata && null != rdata) {
                        var items = rdata['items'];
                        var l = typeof void null != typeof items['items'] && null != items['items'] ? items['items'].length : 0;
                        var ul = $('.ul-items-list');
                        ul.empty();
                        var li = $('<li></li>');
                        li.html(admin.buttonOptions.newElem);
                        ul.append(li);
                        for (var i = 0; i < l; i++) {
                            var item = items['items'][i];
                            var li = $('<li></li>');
                            var span_container = $('<span></span>').addClass('span-container');
                            var spanO = $('<span></span>').addClass('options');
                            spanO.html(admin.buttonOptions.move + admin.buttonOptions.edit + admin.buttonOptions.remove)
                            span_container.append(spanO);
                            li.append(span_container);
                            ul.append(li)
                            $(li).find('.options').width($(li).find('.options button:first').outerWidth(true) * 3 + 10);
                        }
                        
                        var opt = $(ul).find('.options');
                        /*ВОТ ЭТОТ ЦИКЛ ВЫПОЛНЯЕТСЯ ОДИН РАЗ С МАКСИМАЛЬНЫМ ИНДЕКСОМ*/
                        for (var w = 0; w < 4; w++); {
                            $(opt[w]).height(50);
                            $(opt[w]).css('border', '2px solid red');
                        }
                        
                    }
                }

Последний цикл почему-то выполняется сразу с четверкой...
Ответить с цитированием