Я использую Изотоп, чтобы функционировать как категориальный организатор связанного контента в причудливой компоновке. Я пытаюсь нажать несколько значений в массив, чтобы отобразить все элементы, затронутые фильтрами. Конечный результат, однако, показывает только последний элемент в массиве, а не сумму. Первоначально я подталкивал все свои значения в строку, а затем объявлял x в качестве конечного результата. Я понимаю, что это не способ сделать это, и с тех пор изменил его. Вместо строки я вдаваюсь в массив и надеюсь присоединиться к каждому значению, чтобы они все отображались. Тем не менее, я все еще получаю не что иное, как последнее выбранное значение. JS, как он стоит ниже.Пытается вставить несколько значений в массив (изотоп)
// store filter for each group
var filters = {};
$('.filters').on('click', '.button', function() {
var filters = [];
// var filters = '';
var selected = $(this).data('selected');
var group = $(this).data('group');
var currentFilter = $(this).data('filter');
// toggle function along with having multiple selectors
if(selected == "0") {
filters.push($(this).data('filter'));
filters = filters.join(', ');
// filters = $(this).data('filter');
$(this).data('selected', "1");
$(this).addClass('is-checked')
}
else {
$(this).data('selected', "0");
$(this).removeClass('is-checked')
}
// set filter for Isotope
$grid.isotope({
filter: filters
});
// flatten object by concatting values
function concatValues(obj) {
var value = '';
for (var prop in obj) {
value += obj[prop];
}
return value;
}
});
}());
Я также создал codepen для махинаций. Спасибо за любые предложения, которые приходят. Даже указывая на документацию или учебники, которые я, возможно, пропустил, было бы большой помощью. Пока я изучаю этот jsfiddle, который делает то, что я снимаю, чтобы посмотреть, как я могу изменить свой код, чтобы лучше соответствовать тому, что здесь происходит.
Этот код здесь и код на codepen не то же самое, что дает? –