jquery - 过滤问题 - 不显示帖子
问题描述
我创建了一个过滤系统,可以过滤不同的帖子类型。如果选择时没有显示任何帖子,我想显示“无帖子”。但是目前,它显示在每个过滤器上。我创建了以下代码笔:
https://codepen.io/scottYg55/pen/OexpgR
此脚本有效,但无法单击:-
var allHidden = $('.tile').filter(':visible').length === 0;
if($('.tile:visible').length===0){
$('.hideme').show();
}
else{
$('.hideme').hide();
}
全点击功能
jQuery(function ($) {
var allHidden = $('.tile').filter(':visible').length === 0;
var selectedClass = "";
$(".blogfilter a").on('click', function(){
$(".blogfilter a").removeClass("filter-selected");
$(".tiles .tile").addClass("two-tile");
$(this).addClass("filter-selected");
selectedClass = $(this).attr("data-rel");
$("#blog-posts").fadeTo(100, 0.1);
$("#blog-posts .tile").not("."+selectedClass).fadeOut().removeClass('scale-anm');
setTimeout(function() {
$("."+selectedClass).fadeIn().addClass('scale-anm');
$("#blog-posts").fadeTo(300, 1);
}, 300);
});
});
解决方案
<div class="hideme" style="display:none;">No posts</div>
脚本是
jQuery(function ($) {
var selectedClass = "";
$(".blogfilter a").on('click', function(){
var datarel = $(this).data("rel");
var hasclass = $( ".tiles .tile" ).hasClass( datarel );
(hasclass === false) ? $(".hideme").css("display","block") : $(".hideme").css("display","none");
$(".blogfilter a").removeClass("filter-selected");
$(".tiles .tile").addClass("two-tile");
$(this).addClass("filter-selected");
selectedClass = $(this).attr("data-rel");
$("#blog-posts").fadeTo(100, 0.1);
$("#blog-posts .tile").not("."+selectedClass).fadeOut().removeClass('scale-anm');
setTimeout(function() {
$("."+selectedClass).fadeIn().addClass('scale-anm');
$("#blog-posts").fadeTo(300, 1);
}, 300);
});
});
推荐阅读
- javascript - 在 Heroku 服务器上部署后 xmlhttprequest 出错
- html - boostrap 浮动标签与 jquery 验证标签冲突
- python - 按名称切片数据框的列
- python - 如何结合动态数量(150-200)的异步函数进行计算
- javascript - 对象访问括号符号
- iis - 如何在 Microsoft Edge (Chromium) 中防止在特定 IIS Web 应用程序中以及仅在该应用程序中缓存页面
- java - 如何在 Kuma 或任何其他服务网格的另一个 SpringBoot 应用程序中注入 SpringBoot 应用程序作为 SideCar 代理
- python - 在命令行中使用参数运行 Flask 应用程序
- azure - Azure 应用服务和基础结构维护
- hibernate - JPA/Java Play 新行在更新时创建