jQuery, как добавить изображения в более чем один div - PullRequest
1 голос
/ 13 января 2011

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

1 Ответ

3 голосов
/ 13 января 2011

Это должно сделать это:

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

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

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


РЕДАКТИРОВАТЬ: У меня было .appendTo('#div' + i ); вместо .appendTo('#div' + (i / 9) );. Исправлен и добавлен пример.


РЕДАКТИРОВАТЬ: Для вашего конкретного кода добавьте это в конец обратного вызова 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 );
    }
});
...