Привет, я делаю проект для школы, я занимаюсь только интерфейсом кодирования, и одним из требований является то, что я фильтрую свои категории блога с помощью jQuery. Обычно я бы использовал PHP и просто отфильтровывал его на основе параметра, но этот проект является статическим кодом и без БД. В настоящее время у меня есть две страницы для блога: blog.html
и blog-post.html
обе с боковой панелью с категориями. Мой подход прямо сейчас имеет идентификатор для каждой категории, и всякий раз, когда эта ссылка нажимается, я скрою текущий список сообщений в блоге и покажу его с соответствующим классом, моя проблема заключается в том, что когда я нахожусь на моей странице blog-post.html
и нажимаю ссылка фильтра, по-видимому, не работает, поскольку контент, который он ищет, отсутствует в DOM. Какой был бы лучший подход в этом отношении, у меня есть идея, что я просто помещаю весь контент на одну страницу, например blog.html
, а затем скрываю содержимое blog-post.html
, если кто-то не нажал кнопку «Читать дальше», это хороший подход или что-то лучше? Заранее благодарю за любую помощь!Фильтрация категорий с помощью jQuery
BLOG.HTML
<!-- Filters -->
<ul>
<li>
<a id="web-design" class="filter" href="http://www.site.com/blog/">Web Design</a>
</li>
<li>
<a id="web-development" class="filter" href="http://www.site.com/blog/">Web Development</a>
</li>
</ul>
<!-- Articles -->
<article class="layout-article web-design">
<h3 class="title-medium">Lorem Ipsum 2</h3>
<p>Donec in sem a nulla eleifend ...</p>
<a href="http://www.site.com/blog/lorem-ipsum-2">Read More</a>
</article>
<article class="layout-article web-development">
<h3 class="title-medium">Lorem Ipsum 1</h3>
<p>Suspendisse convallis egestas ...</p>
<a href="http://www.site.com/blog/lorem-ipsum-1">Read More</a>
</article>
БЛОГ-POST.HTML
<!-- Filters -->
<ul>
<li>
<a id="web-design" class="filter" href="http://www.site.com/blog/">Web Design</a>
</li>
<li>
<a id="web-development" class="filter" href="http://www.site.com/blog/">Web Development</a>
</li>
</ul>
<!-- Article -->
<article class="layout-article web-design">
<h3 class="title-medium">Lorem Ipsum 2</h3>
<p>Donec in sem a nulla eleifend vivamus velit dolor, blandit quis sodales quis, ullamcorper vitae sem. Nunc elementum, eros sit amet pellentesque placerat, sem massa commodo lectus, nec auctor ligula quam eu nibh. Suspendisse potenti.</p>
</article>
JQuery
$(document).ready(function() {
$('.filter').click(function(e) {
$('.layout-article').hide();
$('.' + this.id).show(500);
return false;
});
});
Да, я думаю, что на самом деле нет способа сделать это с двумя страницами без PHP, мне нравится, чтобы ваш метод обертывал их в div для каждой категории, а затем просто показывал эту категорию вместо выбора каждого div (+1 за меньшие поездки в DOM), спасибо за советы и время! –