2010-11-24 4 views
1

У меня есть массив, заполненный ссылками на изображения, и я хотел бы написать сценарий, который бы, с помощью JavaScript (с библиотекой JQuery), будет форматировать вывод HTML следующим образом:JQuery построить галерею из массива

<div id="gallery"> 
<div class="scrollable"> 
    <div class="items"> 
     <div> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
     </div> 
    </div> 
</div> 
</div> 

После каждых 5 обращений к изображениям он обрабатывает, он добавит еще один контейнер div внутри класса элементов. Таким образом, если массив содержал 15 ссылок на изображения, то конечный результат будет что-то вроде:

<div id="gallery"> 
<div class="scrollable"> 
    <div class="items"> 
     <div> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
     </div> 
     <div> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
     </div> 
     <div> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
      <img src="URL_from_array"/> 
     </div> 
    </div> 
</div> 
</div> 

и так далее до конца массива. Есть идеи?

Редактировать: Извините за идентификацию кода, это прикручивается при публикации.

Редактировать2: Уточнение.

+0

Разве это не возможно сделать это на стороне сервера, а не * после * страница была загружена? – 2010-11-24 03:15:32

+0

Да, это возможно, но я бы хотел сделать это на стороне клиента по разным причинам. – 2010-11-24 03:32:36

ответ

0

* Изменить - я исправил код так, чтобы он динамически создавал больше изображений в наборах по пять. Я считаю, это все, что вы просили.

Как насчет этого?

$('div#gallery img').each(function(){ 
    var i = $('div#gallery img').index(this); 
    $(this).attr('src',images[i]); 
}); 

Попробуйте demo

Смежные вопросы