用于拼接图片库的Javascript拼接

时间:2018-07-31 20:05:08

标签: javascript

我正在过滤一个同位素画廊。单击按钮将添加到称为过滤器的数组。那工作正常,但是当用户单击活动按钮时,我希望从数组中删除过滤的类别。由于某种原因,它不是。

这是特定的代码:

if($(this).hasClass('is-checked') && $(this).not('.all')){
  console.log(filterValue);
  filterGroup.splice($.inArray(filterValue, 1));
  console.log(filterGroup);
  $(this).removeClass('is-checked');
}else if ($(this).hasClass('all')) {
  $(this).toggleClass('is-checked');
}else{
  filters[group].push($(this).attr('data-filter'));
  $(this).addClass('is-checked');
}

您可以在这里http://iris.aimto.be/gallery/gallery.html

看到画廊

如果您依次单击“星期四”和“星期五”,然后再次单击“星期五”,则会看到该问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试用此代码替换

if ($(this).hasClass('is-checked') && $(this).not('.all')){
      console.log(filterValue);
      filterGroup.splice(filterGroup.indexOf(filterValue), 1);
      console.log(filterGroup);
      $(this).removeClass('is-checked');
    }else if ($(this).hasClass('all')) {
      $(this).toggleClass('is-checked');
    }else{
      filters[group].push($(this).attr('data-filter'));
      $(this).addClass('is-checked');
    }

splice method需要将索引作为第一个参数