Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.03.2013, 16:13
Интересующийся
Отправить личное сообщение для Kowabunga! Посмотреть профиль Найти все сообщения от Kowabunga!
 
Регистрация: 01.03.2013
Сообщений: 11

Добавить новую строку если перебор.
Собственно есть функция создающая, на основе конфига несколько картинок. В данном случае первые 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);
            }
        }


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

Помогите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 02.03.2013, 13:09
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от 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);

Последний раз редактировалось ksa, 02.03.2013 в 13:19.
Ответить с цитированием
  #3 (permalink)  
Старый 04.03.2013, 09:54
Интересующийся
Отправить личное сообщение для Kowabunga! Посмотреть профиль Найти все сообщения от Kowabunga!
 
Регистрация: 01.03.2013
Сообщений: 11

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

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);
А да, туплю...
Точно, спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery отследить переход на новую строку в textarea andreo Общие вопросы Javascript 1 24.10.2014 21:38
Перевод на новую строку JS воспринимает как объект DOM Rig Events/DOM/Window 6 26.12.2011 20:08
Как обрезать строку и добавить символы в середине, в зависимости от длинны строки andreyua Firefox/Mozilla 12 10.12.2010 15:44
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31
как железно запретить перенос элемента на новую строку? constantant (X)HTML/CSS 6 14.08.2009 01:59