Isotope не срабатывает callback после filter

190
31 марта 2018, 15:34

Использую библиотеку Isotope для отображения и фильтрации элементов с изображениями на странице.

$container = $('#portfolio_grid').isotope({
  itemSelector: '.grid-item',
  masonry: {
    columnWidth: '.grid-sizer'
  },
  percentPosition: true,
  transitionDuration: '0.2s'
});
$('#portfolio_grid').imagesLoaded().progress( function() {
  $container.isotope('layout');
  portfolio_pagination();
});

Также использую Ajax, чтобы получить нужные данные для фильтрации:

$.ajax({
  url: '../funcs/portfolio.php',
  dataType: 'text',
  data:{
    type: 'sortPortfolio',
    tags: JSON.stringify(checkedTagsArray)
  },
  type: 'post',
  beforeSend: function() {},
  success: function(data){
    var data = $.parseJSON(data);
    for(var i = 0; i < data.length;i++){
      $('#portfolio #portfolio_grid .grid-item[data-work-id='+data[i]+']').addClass('active');
    }
    var $msn = $('#portfolio_grid');
    $msn.isotope({itemSelector: '.grid-item'});
    $msn.isotope({ filter: '.active' }, onFilterFinished());
  },
  complete: function(data){},
  error: function(data){
    alert('Error when adding data. Contact developer please.')
  }
});

Функция, которая должна выполняться после фильтрации (onFilterFinished()), содержит для теста просто смену фона:

function onFilterFinished(){
  $('#container').css('background-color','red');
}

Собственно, функция onFilterFinished срабатывает вне зависимости от того, закончилась ли фильтрация или нет. Что может быть не так?

READ ALSO
Перенос фокуса в новые contenteditable поля

Перенос фокуса в новые contenteditable поля

Как сделать так чтобы при создании нового элемента в него переносиля фокус?

232
Как подключить jquery плагин в react приложении

Как подключить jquery плагин в react приложении

Мой компонент React "должен" рендерить немного HTML, а потом применять к нему jQuery-плагин

229
GET запрос с помощью ajax

GET запрос с помощью ajax

Здравствуйте! Знаю как отправлять ajax запросы методом POST, но не знаю как отправлять методом GET (те

204
Как поставить курсор в конец contenteditable?

Как поставить курсор в конец contenteditable?

Нужно поставить курсор в конец contenteditable с помощью js и jq

220