私のページには、それぞれのクラスを表示/非表示にするフィルターとして機能する3つのテキストがあります。jqueryの切り替え方法は、複数のフィルタリングとして機能するhide/show機能を切り替えますか?
- すべての項目
- 「すべての項目は、」クラス
items
を持つすべてのdivが隠されている、クリックすると、取り消し線がある。例えばアイテム - アイテムB
、 「すべてのアイテム」テキストを表示します。
同じことが他の2つのオプションのために行きます。 3は、別のオプションでは特に「すべてのアイテム」を組み合わせるしているときに私が直面しています
論理エラーです。 「すべてのアイテム」をクリックした場合例えば
、その後、「アイテムA」、「アイテム」が表示されますが、「すべてのアイテム」に取り消し線が残っています。
あなたは以下の私のコードを見ることができます。
は、どのように私は、この「論理」エラーを修正し、優れたフィルタリング機能を持つことができますか?
$(".itemA").click(function() {
$(".itemA-item").toggle(800);
$(".itemA").toggleClass("striketrough-line");
});
$(".itemB").click(function() {
$(".itemB-item").toggle(800);
$(".itemB").toggleClass("striketrough-line");
});
$(".all-items").click(function() {
$(".items").toggle(800);
$(".all-items").toggleClass("striketrough-line");
});
.striketrough-line {
text-decoration: line-through;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="width:30%;float:left;">
<h3>
filters
</h3>
<p class="all-items">
all items
</p>
<p class="itemA">
items A
</p>
<p class="itemB">
items B
</p>
</div>
<div style="width:69%;float:left">
<h3>
the items
</h3>
<div class="items itemA-item">
<p>itemA 1</p>
</div>
<br>
<div class="items itemB-item">
<p>itemB 2</p>
</div>
<br>
<div class="items itemA-item">
<p>itemA 3</p>
</div>
<br>
<div class="items itemB-item">
<p>itemB 4</p>
</div>
</div>
が、残念ながらこれは解決することはできません。ランダムに順序付けられた「アイテム」と一緒に「オブジェクト」の可能性があります。また、取り消し線の問題にも答えません。 – EnexoOnoma