私はすぐにWebデザインの導入コースをやっています。私たちはサイトのフィルタメソッドを使用するように言われた、基本的なフィルタ機能を持っている必要があります。jqueryのshowとtoggleの機能が動作しない
私のサイトでは、ジャンル別に音楽アルバムをカバーしていますが、それぞれが同じジャンルになることができるようにしたいと思います。私が今までに書いたコードは、すべてのアルバムカバー要素を隠していますが、私が望むものだけを表示しません。
私はデバッグのためにいくつかのコメントを持っていますが、私はまた、どのdivを表示するか、つまり複数のクラスを持つものについてより具体的にしようとしました。
$("ul.rock").click(function() {
console.log("rock clicked");
$("div.recordElement").toggle();
$("div.recordElement.pop").toggle();
$(".dropDownMenu").toggle();
});
クラスdropDownMenuを持つdiv要素はまた、ユーザーは、ユーザーが選択を行うの後に隠される必要があるジャンルを選択し、そこからドロップダウンメニューだとして非表示にする必要があります。
<div id="dropDownMenu" class="dropDownMenu">
<ul class="rock">Rock</ul>
<ul class="pop">Pop</ul>
<ul class="metal">Metal</ul>
<ul class="alternative">Alternative</ul>
<ul class="country">Country</ul>
</div>
</div>
<div id="inStoreRecordsContainer">
<div class="recordElement" class="pop">
<img src="img/inStoreMusic/bowie.jpg">
<p class="recordInfo">David Bowie<br>Aladdin Sane</p>
</div>
<div class="recordElement" class="rock" class="metal">
<img src="img/inStoreMusic/metallica.jpg">
<p class="recordInfo">Metallica<br>Master of Puppets</p>
</div>
<div class="recordElement" class="rock" class="pop">
<img src="img/inStoreMusic/nirvana.jpg">
<p class="recordInfo">Nirvana<br>Nevermind</p>
</div>
<div class="recordElement" class="pop">
<img src="img/inStoreMusic/blink182.jpg">
<p class="recordInfo">Blink 182<br>California</p>
</div>
<div class="recordElement" class="pop">
<img src="img/inStoreMusic/beatles.jpg">
<p class="recordInfo">The Beatles<br>Sgt. Pepper's Lonely Hearts Club Band</p>
</div>
<div class="recordElement" class="pop">
<img src="img/inStoreMusic/beyonce.jpg">
<p class="recordInfo">Beyoncé<br>Beyoncé <i>(not a typo)</i></p>
</div>
<div class="recordElement" class="country">
<img src="img/inStoreMusic/cash.jpg">
<p class="recordInfo">Jonny Cash<br>CASH</p>
</div>
複数のクラスを持つ要素でこれを実行しようとしている可能性がありますか?私は解決策のためにグーグルを試み、他のユーザーは同じ問題をshow/hideをtoggleに置き換えて解決しましたが、どちらも私のために働いていませんでした。
これはアルバムの表紙の表示と非表示に関する問題を修正しましたが、まだ.dropDownMenu divの表示と非表示に問題があります。これは、ユーザーが選択しなければならないオプションを含んでいます。私は以下を試しました: $( "div.dropDownMenu").css( "display"、 "none"); $( "div.dropDownMenu")。toggle(); 私はchrome devモードで要素スタイルが表示されるように変更されていることに気付きました:CSSで表示プロパティを変更するのではなくブロックを変更してから変更しない – ebeck
余分なエンディングがあるようです。