$.each(mappings, function(key, item) {
if (match(selected_values, item)) {
$(key).show("slow");
} else {
$(key).hide("slow");
}
});
//At this point, all items are still visible!
var item_count = $('.item').filter(':visible').length;
if (item_count < 12) {
$('.item').not(':visible').slice(0,12 - item_count).show();
}
Я выполняю итерацию по структуре данных, и в зависимости от некоторых выбранных атрибутов некоторые элементы скрыты, другие показаны.jquery callback после каждого() итерации
Проблема заключается в том, что клиент запрашивает видимые минимальные элементы. Поэтому, даже если фильтрация работает правильно, и я получаю несколько 3 видимых элементов, они должны быть дополнены еще 9 элементами, поэтому показывается не менее 12.
Теперь, после каждой итерации, оказывается, что функциии .hide()
еще не завершены. Как и где я могу правильно применять функции заполнения?
Я проверил Invoking a jQuery function after .each() has completed но его применяет функцию после каждого .show()
или .hide()
, который не то, что я хочу (это не нормально площадку во время итерации, мы в первую очередь необходимо, чтобы скрыть все, что не применяются).
Это одна: execute callback after jquery each iteration не работает, когда функция вызывается у меня такая же проблема (шоу() и скрыть() не завершена).
EDIT: Я только что узнал, что удаление «медленный» атрибут в .show()
и .hide()
методов решает эту проблему. Итак, что, если я хочу сохранить анимацию?
Да, я только что узнал и отредактировал мой вопрос. Это анимация. Спасибо – faboolous