我受到jQuery脚本的启发,可以根据所选状态过滤内容(这里是.card类)。
当没有.card可用于某个州时,我想添加一条警报消息(例如:没有可用的地图)。
所以我做了一个应该显示消息的函数。但不幸的是,情况并非如此。
这是该函数的摘录
var cardStateLength = $('.card:visible(.' + myState + ')').length;
$('.l-flexbox-card').children('.card:not(.' + myState + ')').hide("fast", function() {
if(cardStateLength === 0) {
$('.message').addClass('noEvent');
}
else {
$('.message').removeClass('noEvent');
}
});
这是整个代码
//Filter by state
$('.has-nav-state-link').click(function() {
// fetch the id of the clicked item
var myState = $(this).attr('id');
//are visible card available?
var cardStateLength = $('.card:visible(.' + myState + ')').length;
// reset the active id on all the buttons
$('.has-nav-state-link').removeAttr('is-all');
// update the active state on our clicked button
$(this).attr('is-all');
if(myState == 'is-all') {
// show all our items
$('.l-flexbox-card').children('.card').show("fast");
}
else {
// hide all elements that don't share .card-FR
$('.l-flexbox-card').children('.card:not(.' + myState + ')').hide("fast", function() {
if(cardStateLength === 0) {
$('.message').addClass('noEvent');
}
else {
$('.message').removeClass('noEvent');
}
});
// show all elements that do share .card-FR
$('.l-flexbox-card').children('.card.' + myState).show("fast");
}
return false;
});
有什么主意吗?
谢谢!