2013-09-25 3 views
0

У меня есть галерея Изотопов, которая содержит пять отдельных фильтров, которые можно применять для сортировки галереи. Если человек должен был выбрать все пять фильтров, это может привести к тому, что никакие предметы не будут показаны.Фильтрация изотопов - нет результатов

Что бы я хотел сделать, это показать скрытый div, если фильтры не возвращают результаты. Я искал попытку сделать это без везения.

Как показать скрытый div, если фильтры галереи изотопа достаточно специфичны, чтобы не показывать какие-либо изотопные элементы?

ответ

4

Задав этот вопрос, я наткнулся на свое решение. Это комбинация this answer и this answer, которые находятся в this question.

Вот код, который я использовал, чтобы сделать то, что я ищу:

var $container = $('#container') 
var selector = isoFilters.join(''); 
$container.isotope({ filter: selector }, function noResultsCheck() { 
var noItems = $('<div class="element no-results"> <!-- HTML for div to show "No Results" --> </div>'); 
var yesItems = $('.no-results'); 
var numItems = $('.element:not(.isotope-hidden)').length; 
    if (numItems == 0) { 
     $container.append(noItems).isotope('appended', noItems); 
    }else{ 
     $container.isotope('remove', yesItems); 
    } 
}); 
Смежные вопросы