teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

javascript,CSSを追加しました。タブ箇所のhtmlも書き換えました。

2019/01/15 05:59

投稿

heyhey...
heyhey...

スコア40

title CHANGED
File without changes
body CHANGED
@@ -56,19 +56,120 @@
56
56
  タブ切り替えのhtmlはこれを使用し、
57
57
  ```ここに言語を入力
58
58
  <ul class="tab_area">
59
- <li id="tab1" class="select">最初のコンテンツタイトル</li>
59
+ <li id="tab1" class="select">2019</li>
60
- <li id="tab2">次のコンテンツタイトル</li>
60
+ <li id="tab2">2018</li>
61
- <li id="tab3">次のコンテンツタイトル</li>
61
+ <li id="tab3">2017</li>
62
+ <li id="tab4">2016</li>
63
+ <li id="tab5">2015</li>
64
+ <li id="tab6">2014</li>
62
65
  </ul>
63
66
 
64
67
  <div class="content_area">
65
- 最初コンテンツ内容
68
+ 2019の内容
66
69
  </div>
67
70
 
68
71
  <div class="content_area hide">
69
- コンテンツ内容
72
+ 2018の内容
70
73
  </div>
74
+
75
+ <div class="content_area hide">
76
+ 2017の内容
77
+ </div>
78
+
79
+ <div class="content_area hide">
80
+ 2016の内容
81
+ </div>
82
+
83
+ <div class="content_area hide">
84
+ 2015の内容
85
+ </div>
86
+
87
+ <div class="content_area hide">
88
+ 2014の内容
89
+ </div>
71
90
  ```
72
91
 
92
+ javascript
93
+ ```ここに言語を入力
94
+ jQuery(function($){
95
+ //クリックしたときのファンクションをまとめて指定
96
+ $('ul.tab_area li').click(function() {
97
+ //.index()を使いクリックされたタブが何番目かを調べ、
98
+ //indexという変数に代入します。
99
+ var index = $('ul.tab_area li').index(this);
100
+ //コンテンツを一度すべて非表示にし、
101
+ $('.content_area').css('display','none');
102
+ //クリックされたタブと同じ順番のコンテンツを表示します。
103
+ $('.content_area').eq(index).fadeIn();
104
+ //一度タブについているクラスselectを消し、
105
+ $('.tab_area li').removeClass('select');
106
+ //クリックされたタブのみにクラスselectをつけます。
107
+ $(this).addClass('select')
108
+ });
109
+ });
110
+
111
+ jQuery(function($){
112
+ //location.hashで#以下を取得 変数hashに格納
113
+ var hash = location.hash;
114
+ //hashの中に#tab~が存在するか調べる。
115
+ hash = (hash.match(/^#tab\d+$/) || [])[0];
116
+ //hashに要素が存在する場合、hashで取得した文字列(#tab2,#tab3等)から#より後を取得(tab2,tab3)
117
+ if($(hash).length){
118
+ var tabname = hash.slice(1);
119
+ } else{
120
+ // 要素が存在しなければ初期化
121
+ var tabname = "tab1";}
122
+ //コンテンツを一度すべて非表示にし、
123
+ $('.content_area').css('display','none');
124
+ //一度タブについているクラスselectを消し、
125
+ $('.tab_area li').removeClass('select');
126
+ var tabno = $('ul.tab_area li#' + tabname).index();
127
+ //クリックされたタブと同じ順番のコンテンツを表示します。
128
+ $('.content_area').eq(tabno).fadeIn();
129
+ //クリックされたタブのみにクラスselectをつけます。
130
+ $('ul.tab_area li').eq(tabno).addClass('select')
131
+ });
132
+ ```
133
+
134
+ CSS
135
+ ```ここに言語を入力
136
+ .tab_area{
137
+ overflow:hidden;
138
+ margin:0 auto;
139
+ width:100%;
140
+ border-bottom:#ccc solid 1px;
141
+ text-align:center;
142
+ }
143
+
144
+ .tab_area li{
145
+ color:#000;
146
+ padding:15px 0;
147
+ margin:0 5vw;
148
+ display:inline-block;
149
+ margin-right:-1px;
150
+ cursor:pointer;
151
+ font-size:1rem;
152
+ }
153
+
154
+ .all_area {
155
+ overflow: hidden;
156
+ }
157
+
158
+ .all_area div.content_area{
159
+ background:#fff;
160
+ padding:30px 0 0 0;
161
+ margin-bottom:30px;
162
+ border-top:1px solid #1E3784;
163
+ }
164
+
165
+ .tab_area li.select{
166
+ /*アクティブタブの装飾*/
167
+ border-bottom:5px solid #000;
168
+ }
169
+
170
+ .hide{display:none;}
171
+
172
+ ```
173
+
73
- archive.phpのコードをめ込めばいいのでが、方法が分かりません。
174
+ 静的に動きました。動的にこを表示方法が分かりません。
74
175
  どなたかご教授いただけないでしょうか。