私はJavaScriptとjQueryを初めて使用するので、優しくしてください。特定のクラスがあるかどうかに基づいて、いくつかのdivの表示/非表示をアニメーション化しようとしています。
基本的に、私は写真家向けのサイトを作成していて、上部にフィルターのリストが表示されたポートフォリオセクションがあります。各divには、「ポートフォリオアイテム」のクラスと、そのカテゴリに含まれるすべてのカテゴリの追加クラスがあります。 /結婚式/子供/カップル。どの画像にも複数のクラスを含めることができます。
私がやりたいのはファミリーリンクをクリックすることです、そしてそれはそれにファミリークラスを持っていないものをすべて隠します。次に結婚式をクリックすると、結婚式のクラスがない現在開いているものがすべて閉じられ、結婚式のクラスが含まれている現在閉じているものがすべて開きます。
私は現在、以下のコードで動作していますが、これは単にすべてを閉じてから、必要なクラスを持つものを開きます。さらに、アニメーションを追加する方法がわかりません。
function portfolioItems(filter) {
$(".portfolio-items").hide();
$("."+filter).show(); }
function initEventHandlers () {
$(".port-all").click(function () {
$(".portfolio-items").show();
return false;
})
$(".port-wedding").click(function () {
portfolioItems("wedding");
return false;
})
$(".port-family").click(function () {
portfolioItems("family");
return false;
})
$(".port-kids").click(function () {
portfolioItems("kids");
return false;
})
$(".port-couples").click(function () {
portfolioItems("couples");
return false;
}) }
HTMLは...
<div class="portfolio-container">
<div class="portfolio-links">
<a href="#"><img alt="All" class="port-all" src="images/port-all.png" /></a>
<a href="#"><img alt="family" class="port-family" src="images/port-family.png" /></a>
<a href="#"><img alt="wedding" class="port-wedding" src="images/port-wedding.png" /></a>
<a href="#"><img alt="couples" class="port-couples" src="images/port-couples.png" /></a>
<a href="#"><img alt="kids" class="port-kids" src="images/port-kids.png" /></a>
</div>
<div class="portfolio">
<div class="portfolio-items wedding couples family"></div>
<div class="portfolio-items kids"></div>
<div class="portfolio-items wedding kids family"></div>
<div class="portfolio-items couples"></div>
<div class="portfolio-items couples kids family"></div>
<div class="portfolio-items wedding"></div>
</div>
</div>