2011-01-12 1 views
1

Я использую jquery json для возврата изображений из flickr. Если я хочу добавить все изображение в один div, это не проблема. То, что я хочу сделать, - вернуть 36 изображений, но добавить 1-9 изображений в div 1 и 10-18, чтобы разделить два 19-27 на div три и 28-36 на четыре.jQuery как добавить изображения к нескольким div

+1

Как вы извлекаете изображения? Будет ли это массив, объект JSON, XML? (или, вернее, какой тип переменной/списка вам нужно будет работать и проходить через?) –

+0

Можете ли вы опубликовать образец кода того, что вы делаете в этот момент? –

ответ

3

Это следует сделать это:

Пример:http://jsfiddle.net/9KyaK/

$images.each(function(i) { 
    if(i % 9 === 0) 
     $images.slice(i, i + 9).appendTo('#div' + (i/9)); 
}); 

Предполагает $images является коллекция изображений, и каждый ДИВ имеет идентификатор div0', 'div1 и т.д.


EDIT: У меня был .appendTo('#div' + i); вместо .appendTo('#div' + (i/9));. Исправлен и добавлен пример.


EDIT: Для вашего конкретного кода, добавьте в конце getJSON обратного вызова. После цикла for.

var $flickr = $('#flickr'); 
var $images = $flickr.children('a'); 

$images.each(function(i) { 
    if(i % 9 === 0) { 
     var newDiv = $('<div/>',{id:'div'+(i/9)}).appendTo($flickr); 
     $images.slice(i, i + 9).appendTo(newDiv); 
    } 
}); 
+0

Это мой код http://www.chillwebdesigns.co.uk/downloads/flick.txt –

+0

@ Чил: Недостаточно информации, чтобы знать, что делать. Я не знаю ничего о вашей структуре HTML, чтобы я мог знать, где добавить. Если эта строка добавляет: '$ (THUM) .append ('');' тогда я бы предположил, что вам нужно будет заменить 'THUM' тем, что выберет правильный контейнер. например, '$ ('#cont_' + ~~ (i/9)) .append (...', если ваши идентификаторы контейнера 'cont_0',' cont_1' и т. д. – user113716

+0

см. http: //www.chillwebdesigns .co.uk/flickr/для демонстрации –