我有一个带图片库的页面,我正在使用jquery wookmark插件,带有过滤功能。然后我也想使用插件颜色框(wookmark已经在他们的插件中提供了例子),我能够加入彩盒和过滤系统。我头脑中的问题是,当我只是一个过滤器,而不是50张照片显示,只有5可见,我怎么说彩盒只显示那5?
所以我按照这样初始化colorbox:
$('li a').colorbox({
rel: 'lightbox', scalePhotos: true, maxWidth: '80%', maxHeight: '80%'
});
然后在过滤器的点击事件中,我认为最好的方法是,每当有点击时,从所有图像中删除颜色框,并再次初始化颜色框仅适用于具有活动类的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个图像的页面,颜色框库显示100个图像显示;我点击一个过滤器,我得到10个图像可见,colorbox给出10个图像显示,我点击另一个过滤器添加更多图像,我得到24个图像可见,colorbox刷新它的画廊到24.事情是,如果我再次点击相同的最后一个过滤器停用它,colorbox不再只看到10个图像,而是24.
答案 0 :(得分:0)
嗯,实际上我发布的是正确的。如果有人想使用它,我很乐意提供帮助。但我发现我的问题不是我所描述的问题。
Wookmark插件,只添加和删除类不活动。所以在wookmark的js中,当项目处于非活动状态时,我并没有删除类。他们我们一直待在这两个班级,而且由于活跃没有属性,我没有看到。感谢您的帮助(头脑风暴)...