javascript - 如何按主题标签过滤博客文章?
问题描述
我想按主题标签过滤博客文章。
这实际上只显示具有相同 id 的博客文章并将它们移动到页面顶部。
顶部还有一个按钮来显示所有内容。
我试过使用这个 w3 课程https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_portfolio_gallery_filter
但是因为它添加了 display:none, display: block 类,它会干扰博客文章本身。
以下是其中一篇博客文章的结构。
<div><!--Hide/Show based on what hashtag-->
<div> <!--Blog Post-->
<div> <!--Blog Content which also Hide/show-->
<div>
<!--blog content 1-->
</div>
<div>
<!--blog content 2-->
</div>
<div>
<!--blog content 3-->
</div>
<div><!--blog pagination--></div>
<div><!--#Hashtag id--></div>
</div>
</div>
</div>
解决方案
对于同一条船上的任何人。这是解决方案:
JS
$(document).ready(function () {
$(".filter-id-1").click(function () {
$(".id-2, .id-3").fadeOut(200);
$(".id-1").fadeIn(200);
});
$(".filter-id-2").click(function () {
$(".id-1, .id-3").fadeOut(200);
$(".id-2").fadeIn(200);
});
$(".filter-id-3").click(function () {
$(".id-1, .id-2").fadeOut(200);
$(".id-3").fadeIn(200);
});
$(".filter-all").click(function () {
$(".id-1, .id-2, .id-3").fadeIn(200);
});
});
HTML
<a href="#" class="filter-all">All</a> <!--Button to filter all-->
<div class="id-1 all">
<div> <!--Blog Post--></div>
<a href="#" class="filter-id-1 id-1 all">Hashtag #id 1</a>
</div>
<div class="id-2 all">
<div> <!--Blog Post--></div>
<a href="#" class="filter-id-2 id-2 all">Hashtag #id 2</a>
</div>
<div class="id-3 all">
<div> <!--Blog Post--></div>
<a href="#" class="filter-id-3 id-3 all">Hashtag #id 3</a>
</div>
推荐阅读
- python - 循环列表以获取列表中存在的最后一项
- json - DioError [DioErrorType.RESPONSE]:Http 状态错误 [500],为什么?
- jenkins - Jenkins Reactive Choice 参考参数
- python-3.x - 如何使用 Python 在文件夹名称中测试是否存在年份,但没有括号
- node.js - 将 mongodb 数据导出为 csv
- python - 如何添加
到每个句子的开头和结尾 - xml - 我收到一个 XML 错误,不知道如何修复它
- java - Kibana 中 APM 的代理状态中未显示收到的 APM Java 代理数据
- spring-boot - Spring Boot WebClient OAuth - 同时命中多个请求时超时
- angular - 绑定材质表到api节点表