#jquery #jquery-isotope
#jquery #jquery-isotope
Вопрос:
Есть ли какой-либо способ вставить новые элементы по определенному индексу без использования сортировки? Например, предположим, что у нас есть функция, подобная этой — isotope('insertAtIndex', elem, 4)
, isotope вставит новый элемент ‘elem’ в 5-ю позицию в макете.
Я попытался создать свою пользовательскую функцию на основе функции ‘prepended’, но это просто нарушает макет.
Isotope.prototype.insertAtIndex = function( elems, index ) {
var items = this._itemize( elems );
if ( !items.length ) {
return;
}
// add items to beginning of collection
var previousItems1 = this.items.slice(0, index);
var previousItems2 = this.items.slice(index);
this.items = previousItems1.concat(items).concat(previousItems2);
// start new layout
this._resetLayout();
this._manageStamps();
// layout new stuff without transition
var filteredItems = this._filterRevealAdded( items );
// layout previous items
this.layoutItems( previousItems1 );
this.layoutItems( previousItems2 );
// add to filteredItems
this.filteredItems = filteredItems.concat( this.filteredItems );
};