Вставить новые элементы с определенным индексом — isotope Jquery

#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 );
};