繁体   English   中英

jQuery事件第二次调用时不起作用

[英]Jquery the event doesn't work the second time i call it

我有一个带有图片库的页面,并且我正在使用带有过滤功能的jquery wookmark插件。 然后,我还想使用插件颜色框(wookmark已经在其插件中提供了一个示例),并且我能够加入颜色框和滤镜系统。 我脑子里的问题是,当我使用一个滤镜,而不是要显示50张照片时,只能看到5张照片,我如何对colorbox说只显示那5张照片呢?

所以我像这样初始化colorbox:

    $('li a').colorbox({
         rel: 'lightbox', scalePhotos: true, maxWidth: '80%', maxHeight: '80%'
    });

然后,在过滤器的click事件上,我认为最好的方法是,只要单击一下,就从所有图像中删除颜色框,然后仅针对具有活动类的li内的项再次初始化颜色框,如下所示:

    var onClickFilter = function(event) {

      var item = $(event.currentTarget), activeFilters = [];
      item.toggleClass('active');

      // Collect active filter strings
      filters.filter('.active').each(function() {
        activeFilters.push($(this).data('filter'));
      });

      handler.wookmarkInstance.filter(activeFilters, 'or');       

  //here i remove colorbox from every item
      $.colorbox.remove();        

      //here i instantiate colorbox for active item 
  $('#tiles li.active a').colorbox({
        rel: 'lightbox', scalePhotos: true, maxWidth: '80%', maxHeight: '80%'
      });
    }

这有点奏效! 例如,我在页面上加载了100张图片,colorbox图库显示了100张图片; 我单击一个滤镜,我看到10张图像,colorbox显示10张图像,我单击另一个滤镜,添加更多图像,我看到24张图像,colorbox将其图库刷新为24张。问题是,如果我再次单击使用相同的最后一个滤镜将其停用,colorbox不再只能看到10张图像,而是24张。

好吧,实际上我发布的内容是正确的。 如果有人想使用它,我很乐意提供帮助。 但是我发现我的问题不是我所描述的。

Wookmark插件,仅添加和删除非活动类。 因此,在wookmark的js中,当项目处于非活动状态时,我并未删除活动的类。 他们在这两个类中都待着,并且由于active没有属性,所以我没有看到。 感谢您的帮助(头脑风暴)...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM