Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Добавить новую строку если перебор. (https://javascript.ru/forum/dom-window/36024-dobavit-novuyu-stroku-esli-perebor.html)

Kowabunga! 01.03.2013 16:13

Добавить новую строку если перебор.
 
Собственно есть функция создающая, на основе конфига несколько картинок. В данном случае первые 4. Ну и выводит их. Выводит в ряд, а хочется чтобы, например эти 4 штуки, выводились в 2 ряда. 2х2 тоесть.

Вот сам код функции.

function buildGroup100(group100items)
        {
            if (group100items)
            {
                //Посчитаем item'ы

                var itemsList = new Array();
                for (var item in group100items)
                {
                    if (typeof (group100items[item]) == "object")
                    {
                        group100items[item].isOperator = (item.indexOf("op") == 0)
                        itemsList.push(group100items[item]);
                    }
                }

                var itemWidth = screen.width / itemsList.length;

                var group100Table = document.createElement("table");
                group100Table.cellpadding = 0;
                group100Table.cellspacing = 0;
                group100Table.border = 2;
                group100Table.width = "100%";

                var tableBody = document.createElement("tbody");
                var tr = document.createElement("tr");

                for (var index = 0; index <4; ++index)
              {
                    var td = document.createElement("td");

                    {
                    td.width = itemWidth + 'px';
                    td.align = "center";
                    td.className = "group100_button";
                    td.itemId = itemsList[index].id;
                    }

                    if(itemsList[index].isOperator)
                    {
                        td.direct_url = itemsList[index].direct_url
                        td.onmousedown = function()
                        {
                            if (this.direct_url)
                                parent.location = this.direct_url
                            else
                                goOperator(this.itemId)
                        };
                    }
                    else
                    {
                        td.onmousedown = function()
                        {
                            switchFolder(this.itemId)
                        };
                    }


                    var img = document.createElement("img");
                    img.border = 0;
                    img.src = "./skins/default/i/op/" + itemsList[index].image;

                    td.appendChild(img);
                    tr.appendChild(td);
                                    }



                group100Table.appendChild(tableBody);
                tableBody.appendChild(tr);
                byID('group100_place').appendChild(group100Table);
            }
        }


Есть мысль просто через условие сделать, но куда его воткнуть хз :-?

Помогите пожалуйста.:help:

ksa 02.03.2013 13:09

Цитата:

Сообщение от Kowabunga!
условие сделать, но куда его воткнуть хз

В цикл разумеется...

var tr,td;
var tableBody = document.createElement("tbody");
for (var index = 0; index <4; ++index) {
   if ((index%2)==0) {
      if (tr) {
         tableBody.appendChild(tr);
      }
      tr = document.createElement("tr");
   }
   td = document.createElement("td");
   ...
}
tableBody.appendChild(tr);

Kowabunga! 04.03.2013 09:54

Цитата:

Сообщение от ksa (Сообщение 238283)
В цикл разумеется...

var tr,td;
var tableBody = document.createElement("tbody");
for (var index = 0; index <4; ++index) {
   if ((index%2)==0) {
      if (tr) {
         tableBody.appendChild(tr);
      }
      tr = document.createElement("tr");
   }
   td = document.createElement("td");
   ...
}
tableBody.appendChild(tr);

А да, туплю...:blink:
Точно, спасибо.:thanks:


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