"추가로드"버튼이 있습니다.이 버튼을 클릭하면 검색 결과 페이지에 새 컨테이너가 추가됩니다. 각 컨테이너는로드 할 항목 수에 따라 반복하는 클래스 (예 : .results-1 .results-2.results-3)를 가져옵니다.Shuffle.js로 마지막으로 추가 된 div 만 대상으로 지정
"추가로드"를 클릭하면 새로 추가 된 항목뿐만 아니라 모든 결과가 화면에 깜박입니다. 이는 내 코드가 추가 된 것뿐만 아니라 벽돌 그리드의 모든 항목을 감지하기 때문입니다.
$('.gallery-photo [class of only most recent append goes here?]').each(function() {
가 어떻게 가장 최근에 추가 된 항목을 타겟팅 할 수 있습니다, 각각의 새로운 용기가 반복 클래스를 얻을 때 :
이 줄은 생각 문제인가?
모든 아이디어를 매우 높이 평가합니다. 다음은 PHP가없는 fiddle의 예입니다.
$(function() {
$(".gallery-photo").slice(0, 4).show();
$("#loadMore").on('click', function(e) {
e.preventDefault();
$(".gallery-photo:hidden").slice(0, 4).fadeIn();
$('.gallery-photo').each(function() {
var $newRow = $(this);
$('.masonry-gallery').append($newRow);
$('.masonry-gallery').shuffle('appended', $newRow);
});
});
});
$(document).ready(function() {
var $grid = $('.masonry-gallery');
$grid.shuffle({
itemSelector: '.gallery-photo' // the selector for the items in the grid
});
});
P. 이 석조 격자는 shufflejs을 사용합니다. 비슷한 대화 here은 새 항목을 그리드에 추가하는 데 동일한 코드를 사용합니다. 당신이 지적
감사합니다. 예, 내 실제 사이트 (라이브가 아닌)에 다른 페이지에서 PHP 컨텐트를로드해야하기 때문에 추가가 있습니다. 새로운 결과로 가득 찬 iterate (.results-1 .results-2 .results-3) 컨테이너를 추가합니다. 하지만 당신의 대답은 정확합니다. 내가 흉내내는 코드를 보면 말이죠. – BlueHelmet
@BlueHelmet - 좋아요, 다른 컨테이너 요소에서 요소를 동적으로 추가하는 예제를 추가했습니다. 그게 당신이 찾고있는거야? https://jsfiddle.net/jr5j7b1b/ –
좋습니다! '.children()'셀렉터를 추가하여 생각하고있다. 내가해야 할 일은 문제의 줄을'$ ('masonry-gallery : last-child .gallery-photo')로 대체하는 것 뿐이다. each (function() {'그건 실제 사이트에서 작동하는 것 같다! , 나는 당신의 답변을 어쨌든 올바른 것으로 표시하고 있습니다. 왜냐하면 그것들 모두가 제가 준 예제에서 잘 작동하기 때문입니다. :) – BlueHelmet