クリックされているアイテムの直下に全幅のアイテムを追加しようとしています。私は2つの方法を試しました(ここでフィドル)。
これはまったく可能ですか?
私が試した最初の方法は、アイテムがクリックされた直後に新しいアイテムを挿入することでした。行の最後の項目でない場合、クリックされた項目の後に空のギャップが作成されます。
// First try (looks at DOM)
if (currentPosition.y === nextPosition.y) {
insertStudentContent($puff.next());
} else {
$puff.after($studentContent);
$container.isotope('reloadItems').isotope({ sortBy: 'number' });
}
2 番目の方法は、クリックした項目の行の最後の項目の直後に項目を挿入することでした。この方法もフェイルセーフではありません。クリックされたアイテムと追加されたアイテムの間にアイテムが入ることがあります。
$container.find('.puff').each(function (index) {
// is the item (.puff) on the same row as the one being clicked?
if ($(this).data('isotope-item-position').y === currentPosition.y) {
// The last item on the row of the clicked item will be $puff
$puff = $(this);
}
});
$puff.after($studentContent);
$container.isotope('reloadItems').isotope({ sortBy: 'number' });