Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите с кодом (https://javascript.ru/forum/dom-window/9763-pomogite-s-kodom.html)

jey7 04.06.2010 15:05

Помогите с кодом
 
Помогите разобраться с кодом
Не пойму как с его помощью строится таблица

function GetGalleryHTML(arr, hor_count, width, height)
{
//реализация галлереи в виде таблицы
var html = "";
for(var i = 0 ; i < arr.length ; )
{
html += "";
for(var j = 0 ; j < hor_count ; ++j, ++i)
{
if(i < arr.length)
html += "";//выводим ячейку с изображением
else
html += "";//выводим пустую ячеку таблицы
}
html += "";
}
html += "";
return html;
}

Kolyaj 04.06.2010 15:09

А чё, правда чтоли строится?

jey7 04.06.2010 15:27

Цитата:

Сообщение от Kolyaj (Сообщение 57862)
А чё, правда чтоли строится?

Конечно она не строится, нет html элементов, просто дали кусок кода на котором нужно поставить галерею, вот я не могу разобраться что конкретно происходит :

var html = "";

html += "";

micscr 04.06.2010 15:44

Цитата:

var html = "";
Очевидно сюда:
var html = '<table width="' + width + '" height="' + height + '">';

дальше пробуйте сами.

jey7 04.06.2010 16:58

Сюда я так понимаю нужно вставить путь к картинке

if(i < arr.length) 
html += "";//выводим ячейку с изображением

наверно так:
html += "<img src="img/1.jpg" name="1"/>"
но он выводит заданную, а мне нужно достать с массива

такой вариант не катит
html += "<img src="arr[i]" name="1"/>"
или такой
 html += '<img src="img/" + count + ".jpg" name="1"/>'

Тыкаю пальцем в небо, как правильно будет подскажите?

micscr 04.06.2010 17:17

у тебя в цикле i и j меняются. Названия картинок походу в массиве переданном хранятся, вот и экспериментируй, я же не знаю что там за массив.
Цитата:

такой вариант не катит
html += "<img src="arr[i]" name="1"/>"
потому что с ошибками. Надо:

html += '"<img src="' + arr[i] + '" name="1"/>"';

jey7 04.06.2010 17:19

Цитата:

Сообщение от micscr (Сообщение 57868)
Очевидно сюда:
var html = '<table width="' + width + '" height="' + height + '">';

дальше пробуйте сами.

Я предаю параметры в функцию

document.write(GetGalleryHTML(images, 5, 100, 100));

и она явно не понимает что должна быть 100px*100px;
может это не правильно.

function GetGalleryHTML(arr, hor_count, width, height)
{
//реализация галлереи в виде таблицы
var html = '<table width="' + width + '" height="' + height + '">';
for(var i = 0 ; i < arr.length ; )
{
// по логике вешей я ниже должен вставить td
html += '<td>';
for(var j = 0 ; j < hor_count ; ++j, ++i)
{
if(i < arr.length)
html += "";//выводим ячейку с изображением
else
html += "";//выводим пустую ячеку таблицы
}
html += "</td>";// закрыть td???
}
html += "</table>";//закрыть table ???
return html;
}

micscr 04.06.2010 17:31

Ага, то размеры картинки. Значит вот это
html = '<table width="' + width + '" height="' + height + '">';

отбой.
Просто пиши
html = '<table>';

А вот эту часть:
width="' + width + '" height="' + height + '">';

выставляй каждой картинке.

jey7 04.06.2010 18:13

Класс. Спасибо вроде работает.

Вот мне интересно можно ли onmousedown или onclik затем работать с этими изображениями (увеличивать).

jey7 05.06.2010 10:57

Пробую передать в функцию параметры, чтоб вывести при клики полное изображение

html += '<img src="' + arr[i] + '" width="' + width + '" height="' + height + '" name="'+i+'" onmousedown="mouseover('+ arr[i] +','+ i +');"/>'; 
  
function mouseover (index, i)
        {
         document.images["'+i+'"].src = img[index].src;
        }


Возможно ли так сделать, что то не работает.


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