質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

945閲覧

jQueryでクリック表示・非表示の動作がならない。

kitikiti

総合スコア17

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2018/06/21 04:43

編集2018/06/21 05:40
<ul class="photo_title">は最初は非表示にする。 例えば「練習風景」をクリックしたら<ul class="photo_title">部分の練習風景を表示したいのですが、上手くできません。 わかられる方ご回答をお願い致します。 また、例えば<ul class="tab">の練習風景を2回クリックすると最初の画面に戻ってします。 2回クリック後も維持したい場合はどのように記述すればいいでしょうか。

JS

1$(function(){ 2 3 $("#photo_gallery .tab li").click(function() { 4 var tags = $(this).attr('class'); 5 $("#photo_gallery .tab li").removeClass('select'); 6 $(this).removeClass('select'); 7 8 $("ul.photo li").hide(); 9 if(tags == 'practice_scenery_') { 10 $("ul.photo li.practice_scenery").fadeIn(300); 11 12 } else if(tags == '20180620_') { 13 $("ul.photo li.20180620").fadeIn(300); 14 15 } else if(tags == 'off-shot_') { 16 $("ul.photo li.off-shot").fadeIn(300); 17 18 } else if(tags == 'match_scenery_') { 19 $("ul.photo li.match_scenery").fadeIn(300); 20 21 } else { 22 $("ul.photo li").fadeIn(300); 23 } 24 }); 25 /*タブ切替*/ 26 $("#photo_gallery .tab li").addClass('active').show(); 27 $("#photo_gallery .tab li").click(function() { 28 $("#photo_gallery .tab li").removeClass('active'); 29 $(this).addClass('active'); 30 var activeTab = $(this).find('a').attr('href'); 31 $(activeTab).fadeIn(); 32 return false; 33 }); 34 35}); 36</script> 37

CSS

1div#photo_gallery { 2 clear: both; 3 overflow: hidden; 4} 5div#photo_gallery .btn_detail { 6 background: #fff; 7 padding: 20px; 8 margin: 30px 0; 9 text-align: center; 10 border: 1px solid #fff; 11 color: #e79c37; 12} 13div#photo_gallery ul.tab { 14 padding: 15px; 15 text-align:center; 16 overflow: hidden; 17  background: #fdb95e; 18} 19div#photo_gallery ul.tab li { 20 color: #000; 21 margin: 0; 22 float: left; 23 letter-spacing: 1; 24 padding: 5px 45px; 25 cursor: pointer; 26} 27div#photo_gallery ul.tab li.active { 28 background: #cc7500; 29 color: #fff; 30} 31div#photo_gallerys { 32} 33div#photo_gallerys ul.photo_s { 34 margin: 10px 0 0px; 35 overflow: hidden; 36} 37div#photo_gallerys ul.photo_s li { 38 float: left; 39 width: 24%; 40 margin: 0 4px 12px; 41} 42div#photo_gallerys ul.photo_s li img { 43 width: 100%; 44}

HTML

1<div id="photo_gallery" class="clearfix"> 2<ul class="tab"> 3<li class="practice_scenery_ select">#練習風景</li> 4<li class="20180620_">#20180620</li> 5<li class="off-shot_">#オフショット</li> 6<li class="match_scenery_">#試合風景</li> 7</ul> 8<div id="photo_gallerys" class="clearfix"> 9<ul class="photo_title"> 10<li class="practice_scenery">#練習風景</li> 11<li class="20180620">#20180620</li> 12<li class="off-shot">#オフショット</li> 13<li class="match_scenery">#試合風景</li> 14</ul> 15<!-- フォト抜き出し--> 16<ul class="photo photo_s"> 17<li class="practice_scenery">2018.06.18</li> 18<li class="20180620">2018.06.18</li> 19<li class="off-shot">2018.06.18</li> 20<li class="off-shot">2018.06.18</li> 21</ul> 22</div> 23</div>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/06/21 04:44

プログラムコード(およびエラーメッセージ)は質問内容としては最も重要な部分であるため、見やすくしていただけると助かります。<code>ボタン押下→「コード」部分にコードを貼り付け→「ここに言語を入力」に対象言語名記入(エラーメッセージの場合は不要)の手順で「コードハイライト化」してください。(質問編集画面ではリアルタイムでプレビューが表示されるので見ながら調整してください)
m.ts10806

2018/06/21 04:47 編集

photo_galleryおよびphoto_gallerysの閉じ</div>がないように見受けられます。転記漏れでしょうか
m.ts10806

2018/06/21 04:54

「practice_scenery_」に「select」クラスがあるので確認したいのですが、タブ切り替えのような機能なのでしょうか?再現確認や回答のために必要となるのでCSSも提示された方が良いかもしれません。
kitikiti

2018/06/21 05:11

ご回答ありがとうございます。CSS追加します。
m.ts10806

2018/06/21 05:13

少し先走りで回答してみます。齟齬がありましたらご指摘ください。寄せていきますので。
kitikiti

2018/06/21 05:14

タブ機能で切り替えるようにしています。
kitikiti

2018/06/21 05:14

CSSを追記しました。
kitikiti

2018/06/21 05:14

CSSを追記しました。
m.ts10806

2018/06/21 05:16

追記ありがとうございます。ただ、コードブロック対応(私の最初のコメント)もお願いしますね。このままだとコードハイライトがないので読みづらいですし、再現確認のためのコピーがかなり面倒です。(回答がつきにくい原因となります)
kitikiti

2018/06/21 05:25

すみません。修正が完了しました。
m.ts10806

2018/06/21 05:30

```js ```css ```html など冒頭に言語名つけると言語にそくしたハイライトがつくのでお手数でなければご対応ください。(私の回答参照 あとコードブロックで使える言語一覧→ https://teratail.com/questions/7119)
kitikiti

2018/06/21 05:40

修正完了しました。
m.ts10806

2018/06/21 05:41

調整ありがとうございます。
guest

回答1

0

勝手に解釈して再構成してみました。
勘違い等ありましたら指摘してください。

※「<ul class="tab">の練習風景を2回クリックすると最初の画面に戻ってします。」
のところが良く分かっておりません。提示コードにはaタグが入っていないような?

  1. photo_galleryのtabのliをそれぞれクリックする
  2. ↑をクリックしたら紐づくphoto_titleとphotoが表示される
  3. 同じtabがクリックされたら閉じる
  4. 違うtabがクリックされたら2.へ

※photo_galleryの閉じはphoto_gallerysの手前で。photo_gallerysの閉じは最後にしました。

html

1<div id="photo_gallery" class="clearfix"> 2 <ul class="tab"> 3 <li data-title="practice_scenery" class="select">#練習風景</li> 4 <li data-title="20180620">#20180620</li> 5 <li data-title="off-shot">#オフショット</li> 6 <li data-title="match_scenery">#試合風景</li> 7 </ul> 8</div> 9<div id="photo_gallerys" class="clearfix" style="display:none;"> 10 <ul class="photo_title"> 11 <li id="practice_scenery_title">#練習風景</li> 12 <li id="20180620_title">#20180620</li> 13 <li id="off-shot_title">#オフショット</li> 14 <li id="match_scenery_title">#試合風景</li> 15 </ul> 16 <!-- フォト抜き出し--> 17 <ul class="photo photo_s"> 18 <li class="practice_scenery_photo">2018.06.18</li> 19 <li class="20180620_photo">2018.06.18</li> 20 <li class="off-shot_photo">2018.06.18</li> 21 <li class="off-shot_photo">2018.06.18</li> 22 </ul> 23</div>

※/タブ切替/以下は仕様がよく分からないのでごっそり削ってあります。必要であれば入れてください。

js

1 $(function() { 2 var preTags = ""; 3 $("#photo_gallery .tab li").on("click",function() { 4 var tags = $(this).data('title'); 5 if(preTags == tags){ 6 $("#photo_gallerys").hide(); 7 preTags = ""; 8 return; 9 }else{ 10 preTags = tags; 11 $("#photo_gallerys").show(); 12 } 13 $("#photo_gallery .tab li").removeClass('select'); 14 $(this).removeClass('select'); 15 16 $("#photo_gallerys .photo_title li").hide(); 17 $("#"+tags+"_title").fadeIn(300); 18 $("#photo_gallerys .photo li").hide(); 19 $("."+tags+"_photo").fadeIn(300); 20 21 }); 22 }); 23 24

投稿2018/06/21 05:15

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問