同位素过滤器不适用于后来添加到主项目选择器的 child
Isotope filter doesnt works on child added later to the main item selector
我在 div 上使用 metafizzy 提供的同位素和不同的过滤器,它对我来说效果很好,就像这样。但是,当我稍后向具有 ID communitymembers
的 div
添加 child div
时,同位素过滤器对 child 不起作用。
$container = $('#communitymembers').isotope({
itemSelector: '.item-select',
filter: function() {
var $this = $(this);
var searchResult = commMemberKeywordSearchFilter ? $this.find('.memberName').text().match( commMemberKeywordSearchFilter ) : true;
var expertiseResult = $this.is(commMemberExpertiseFilter);
var distanceResult = commMemberDistanceFilter ? $this.find('.communityLocation').attr("data-com-loc") < parseInt(commMemberDistanceFilter) : true;
return searchResult && distanceResult && (expertiseResult || commMemberExpertiseFilter=='');
}
});
$('.filtercheck').change( function() {
var inclusives = [];
$('.filtercheck').each( function( i, elem ) {
if ( elem.checked ) {
inclusives.push(elem.value);
}
});
commMemberExpertiseFilter = inclusives.join(', ');
$container.isotope();
});
$('#distance-filter-community-member-list').on("change", function() {
commMemberDistanceFilter = this.value;
$container.isotope();
});
$("#communityMemberListSearch").keyup(debounce(function(){
commMemberKeywordSearchFilter = new RegExp( $("#communityMemberListSearch").val(), 'gi' );
$container.isotope();
} , 200));
事件虽然在附加后调用了同位素但它不起作用。
$("#communitymembers").append(memberslist);
$container.isotope();
请帮忙!!!
用这个解决,
$container.append(template).isotope('appended', template).isotope('layout');
应该可行
我在 div 上使用 metafizzy 提供的同位素和不同的过滤器,它对我来说效果很好,就像这样。但是,当我稍后向具有 ID communitymembers
的 div
添加 child div
时,同位素过滤器对 child 不起作用。
$container = $('#communitymembers').isotope({
itemSelector: '.item-select',
filter: function() {
var $this = $(this);
var searchResult = commMemberKeywordSearchFilter ? $this.find('.memberName').text().match( commMemberKeywordSearchFilter ) : true;
var expertiseResult = $this.is(commMemberExpertiseFilter);
var distanceResult = commMemberDistanceFilter ? $this.find('.communityLocation').attr("data-com-loc") < parseInt(commMemberDistanceFilter) : true;
return searchResult && distanceResult && (expertiseResult || commMemberExpertiseFilter=='');
}
});
$('.filtercheck').change( function() {
var inclusives = [];
$('.filtercheck').each( function( i, elem ) {
if ( elem.checked ) {
inclusives.push(elem.value);
}
});
commMemberExpertiseFilter = inclusives.join(', ');
$container.isotope();
});
$('#distance-filter-community-member-list').on("change", function() {
commMemberDistanceFilter = this.value;
$container.isotope();
});
$("#communityMemberListSearch").keyup(debounce(function(){
commMemberKeywordSearchFilter = new RegExp( $("#communityMemberListSearch").val(), 'gi' );
$container.isotope();
} , 200));
事件虽然在附加后调用了同位素但它不起作用。
$("#communitymembers").append(memberslist);
$container.isotope();
请帮忙!!!
用这个解决,
$container.append(template).isotope('appended', template).isotope('layout');
应该可行