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

質問編集履歴

2

確認した現象を追記

2018/03/30 01:53

投稿

taraoka
taraoka

スコア7

title CHANGED
File without changes
body CHANGED
@@ -305,4 +305,8 @@
305
305
 
306
306
  タブ切り替え・アンカーリンククリックでの動作は問題なく、
307
307
  アンカーリンクの飛び位置のみ要素の先頭に来ない状態です。
308
- どう修正すればよいのか、どなたかお教えいただけると大変助かります。
308
+ どう修正すればよいのか、どなたかお教えいただけると大変助かります。
309
+
310
+ <追記>
311
+ 2番目以降のタブ内のアンカーリンク、同じものを複数回クリックすると
312
+ 別箇所へスクロールする現象を確認しました。

1

CSS追記、HTML修正

2018/03/30 01:53

投稿

taraoka
taraoka

スコア7

title CHANGED
File without changes
body CHANGED
@@ -15,6 +15,14 @@
15
15
  ---
16
16
 
17
17
  ```html
18
+ <!DOCTYPE HTML>
19
+ <html>
20
+ <head>
21
+ <title>test</title>
22
+ <link rel="stylesheet" type="text/css" href="下記cssを参照">
23
+ </head>
24
+ <body>
25
+
18
26
  <!--タブ全体-->
19
27
  <div class="tabs">
20
28
 
@@ -30,53 +38,53 @@
30
38
  <!--タブ単体-->
31
39
  <div class="tab_content" id="all_content">
32
40
  <!--overflow:scroll内スムーズスクロールリンク-->
33
- <a href="#ancher01">01</a>
41
+ <a href="#aancher01" data-box=".scroll">A1</a>
34
- <a href="#ancher10">10</a>
42
+ <a href="#aancher10" data-box=".scroll">A10</a>
35
- <a href="#ancher20">20</a>
43
+ <a href="#aancher20" data-box=".scroll">A20</a>
36
- <a href="#ancher30">30</a>
44
+ <a href="#aancher30" data-box=".scroll">A30</a>
37
45
  <!--overflow:scroll内スムーズスクロールリンク-->
38
46
 
39
47
  <!--overflow:scrollエリア-->
40
48
  <div class="scroll">
41
- <p id="ancher01">01</p>
49
+ <p id="aancher01">A1</p>
42
- <p id="ancher02">02</p>
50
+ <p id="aancher02">A2</p>
43
- <p id="ancher03">03</p>
51
+ <p id="aancher03">A3</p>
44
- <p id="ancher04">04</p>
52
+ <p id="aancher04">A4</p>
45
- <p id="ancher05">05</p>
53
+ <p id="aancher05">A5</p>
46
- <p id="ancher06">06</p>
54
+ <p id="aancher06">A6</p>
47
- <p id="ancher07">07</p>
55
+ <p id="aancher07">A7</p>
48
- <p id="ancher08">08</p>
56
+ <p id="aancher08">A8</p>
49
- <p id="ancher09">09</p>
57
+ <p id="aancher09">A9</p>
50
- <p id="ancher10">10</p>
58
+ <p id="aancher10">A10</p>
51
- <p id="ancher11">11</p>
59
+ <p id="aancher11">A11</p>
52
- <p id="ancher12">12</p>
60
+ <p id="aancher12">A12</p>
53
- <p id="ancher13">13</p>
61
+ <p id="aancher13">A13</p>
54
- <p id="ancher14">14</p>
62
+ <p id="aancher14">A14</p>
55
- <p id="ancher15">15</p>
63
+ <p id="aancher15">A15</p>
56
- <p id="ancher16">16</p>
64
+ <p id="aancher16">A16</p>
57
- <p id="ancher17">17</p>
65
+ <p id="aancher17">A17</p>
58
- <p id="ancher18">18</p>
66
+ <p id="aancher18">A18</p>
59
- <p id="ancher19">19</p>
67
+ <p id="aancher19">A19</p>
60
- <p id="ancher20">20</p>
68
+ <p id="aancher20">A20</p>
61
- <p id="ancher21">21</p>
69
+ <p id="aancher21">A21</p>
62
- <p id="ancher22">22</p>
70
+ <p id="aancher22">A22</p>
63
- <p id="ancher23">23</p>
71
+ <p id="aancher23">A23</p>
64
- <p id="ancher24">24</p>
72
+ <p id="aancher24">A24</p>
65
- <p id="ancher25">25</p>
73
+ <p id="aancher25">A25</p>
66
- <p id="ancher26">26</p>
74
+ <p id="aancher26">A26</p>
67
- <p id="ancher27">27</p>
75
+ <p id="aancher27">A27</p>
68
- <p id="ancher28">28</p>
76
+ <p id="aancher28">A28</p>
69
- <p id="ancher29">29</p>
77
+ <p id="aancher29">A29</p>
70
- <p id="ancher30">30</p>
78
+ <p id="aancher30">A30</p>
71
- <p id="ancher31">31</p>
79
+ <p id="aancher31">A31</p>
72
- <p id="ancher32">32</p>
80
+ <p id="aancher32">A32</p>
73
- <p id="ancher33">33</p>
81
+ <p id="aancher33">A33</p>
74
- <p id="ancher34">34</p>
82
+ <p id="aancher34">A34</p>
75
- <p id="ancher35">35</p>
83
+ <p id="aancher35">A35</p>
76
- <p id="ancher36">36</p>
84
+ <p id="aancher36">A36</p>
77
- <p id="ancher37">37</p>
85
+ <p id="aancher37">A37</p>
78
- <p id="ancher38">38</p>
86
+ <p id="aancher38">A38</p>
79
- <p id="ancher39">39</p>
87
+ <p id="aancher39">A39</p>
80
88
  </div>
81
89
  <!--overflow:scrollエリア-->
82
90
  </div>
@@ -84,20 +92,192 @@
84
92
 
85
93
  <!--タブ単体-->
86
94
  <div class="tab_content" id="programming_content">
95
+ <!--overflow:scroll内スムーズスクロールリンク-->
96
+ <a href="#bancher01" data-box=".scroll">B1</a>
97
+ <a href="#bancher10" data-box=".scroll">B10</a>
98
+ <a href="#bancher20" data-box=".scroll">B20</a>
99
+ <a href="#bancher30" data-box=".scroll">B30</a>
100
+ <a href="#bancher40" data-box=".scroll">B40</a>
101
+ <a href="#bancher50" data-box=".scroll">B50</a>
102
+ <!--overflow:scroll内スムーズスクロールリンク-->
103
+
104
+ <!--overflow:scrollエリア-->
105
+ <div class="scroll">
106
+ <p id="bancher01">B1</p>
107
+ <p id="bancher02">B2</p>
108
+ <p id="bancher03">B3</p>
109
+ <p id="bancher04">B4</p>
110
+ <p id="bancher05">B5</p>
111
+ <p id="bancher06">B6</p>
112
+ <p id="bancher07">B7</p>
113
+ <p id="bancher08">B8</p>
114
+ <p id="bancher09">B9</p>
115
+ <p id="bancher10">B10</p>
116
+ <p id="bancher11">B11</p>
117
+ <p id="bancher12">B12</p>
118
+ <p id="bancher13">B13</p>
119
+ <p id="bancher14">B14</p>
120
+ <p id="bancher15">B15</p>
121
+ <p id="bancher16">B16</p>
122
+ <p id="bancher17">B17</p>
123
+ <p id="bancher18">B18</p>
124
+ <p id="bancher19">B19</p>
125
+ <p id="bancher20">B20</p>
126
+ <p id="bancher21">B21</p>
127
+ <p id="bancher22">B22</p>
128
+ <p id="bancher23">B23</p>
129
+ <p id="bancher24">B24</p>
130
+ <p id="bancher25">B25</p>
131
+ <p id="bancher26">B26</p>
132
+ <p id="bancher27">B27</p>
133
+ <p id="bancher28">B28</p>
134
+ <p id="bancher29">B29</p>
135
+ <p id="bancher30">B30</p>
136
+ <p id="bancher31">B31</p>
137
+ <p id="bancher32">B32</p>
138
+ <p id="bancher33">B33</p>
139
+ <p id="bancher34">B34</p>
140
+ <p id="bancher35">B35</p>
141
+ <p id="bancher36">B36</p>
142
+ <p id="bancher37">B37</p>
143
+ <p id="bancher38">B38</p>
144
+ <p id="bancher39">B39</p>
145
+ <p id="bancher40">B40</p>
146
+ <p id="bancher41">B41</p>
147
+ <p id="bancher42">B42</p>
148
+ <p id="bancher43">B43</p>
149
+ <p id="bancher44">B44</p>
150
+ <p id="bancher45">B45</p>
151
+ <p id="bancher46">B46</p>
152
+ <p id="bancher47">B47</p>
153
+ <p id="bancher48">B48</p>
154
+ <p id="bancher49">B49</p>
155
+ <p id="bancher50">B50</p>
156
+ <p id="bancher51">B51</p>
157
+ <p id="bancher52">B52</p>
158
+ <p id="bancher53">B53</p>
159
+ <p id="bancher54">B54</p>
160
+ <p id="bancher55">B55</p>
161
+ <p id="bancher56">B56</p>
162
+ <p id="bancher57">B57</p>
163
+ <p id="bancher58">B58</p>
164
+ <p id="bancher59">B59</p>
87
- <略>
165
+ </div>
166
+ <!--overflow:scrollエリア-->
88
167
  </div>
89
168
  <!--タブ単体-->
90
169
 
91
170
  <!--タブ単体-->
92
171
  <div class="tab_content" id="design_content">
172
+ <!--overflow:scroll内スムーズスクロールリンク-->
173
+ <a href="#cancher01" data-box=".scroll">C1</a>
174
+ <a href="#cancher10" data-box=".scroll">C10</a>
175
+ <a href="#cancher20" data-box=".scroll">C20</a>
176
+ <!--overflow:scroll内スムーズスクロールリンク-->
177
+
178
+ <!--overflow:scrollエリア-->
179
+ <div class="scroll">
180
+ <p id="cancher01">C1</p>
181
+ <p id="cancher02">C2</p>
182
+ <p id="cancher03">C3</p>
183
+ <p id="cancher04">C4</p>
184
+ <p id="cancher05">C5</p>
185
+ <p id="cancher06">C6</p>
186
+ <p id="cancher07">C7</p>
187
+ <p id="cancher08">C8</p>
188
+ <p id="cancher09">C9</p>
189
+ <p id="cancher10">C10</p>
190
+ <p id="cancher11">C11</p>
191
+ <p id="cancher12">C12</p>
192
+ <p id="cancher13">C13</p>
193
+ <p id="cancher14">C14</p>
194
+ <p id="cancher15">C15</p>
195
+ <p id="cancher16">C16</p>
196
+ <p id="cancher17">C17</p>
197
+ <p id="cancher18">C18</p>
198
+ <p id="cancher19">C19</p>
199
+ <p id="cancher20">C20</p>
200
+ <p id="cancher21">C21</p>
201
+ <p id="cancher22">C22</p>
202
+ <p id="cancher23">C23</p>
203
+ <p id="cancher24">C24</p>
204
+ <p id="cancher25">C25</p>
205
+ <p id="cancher26">C26</p>
206
+ <p id="cancher27">C27</p>
207
+ <p id="cancher28">C28</p>
208
+ <p id="cancher29">C29</p>
93
- <略>
209
+ </div>
210
+ <!--overflow:scrollエリア-->
94
211
  </div>
95
212
  <!--タブ単体-->
96
213
 
97
214
  </div>
98
215
  <!--タブ全体-->
216
+
217
+ <script type="text/javascript" src="jqueryファイルと下記jsファイルを参照"></script>
218
+
219
+ </div>
220
+ </body>
221
+ </html>
99
222
  ```
100
223
 
224
+ ```css
225
+ /*タブ切り替え*/
226
+ .tabs {
227
+ margin-top: 50px;
228
+ padding-bottom: 40px;
229
+ background-color: #fff;
230
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
231
+ width: 700px;
232
+ margin: 0 auto;}
233
+ .tab_item {
234
+ width: calc(100%/3);
235
+ height: 50px;
236
+ border-bottom: 3px solid #5ab4bd;
237
+ background-color: #d9d9d9;
238
+ line-height: 50px;
239
+ font-size: 16px;
240
+ text-align: center;
241
+ color: #565656;
242
+ display: block;
243
+ float: left;
244
+ text-align: center;
245
+ font-weight: bold;
246
+ transition: all 0.2s ease;
247
+ }
248
+ .tab_item:hover {
249
+ opacity: 0.75;
250
+ }
251
+ input[name="tab_item"] {
252
+ display: none;
253
+ }
254
+ .tab_content {
255
+ display: none;
256
+ padding: 40px 40px 0;
257
+ clear: both;
258
+ overflow: hidden;
259
+ }
260
+
261
+ #all:checked ~ #all_content,
262
+ #programming:checked ~ #programming_content,
263
+ #design:checked ~ #design_content {
264
+ display: block;
265
+ }
266
+ .tabs input:checked + .tab_item {
267
+ background-color: #5ab4bd;
268
+ color: #fff;
269
+ }
270
+
271
+
272
+ /*スクロール*/
273
+ .scroll{
274
+ height:300px;
275
+ overflow:scroll;
276
+ border:1px solid black;
277
+ padding:10px;
278
+ }
279
+ ```
280
+
101
281
  ```javascript
102
282
  $(function(){
103
283
  $("a[href^='#']").click(function(){
@@ -114,7 +294,8 @@
114
294
  });
115
295
  });
116
296
  ```
297
+
117
- cssはそれぞれの参考サイトのものになっます。
298
+ 上記3点で再現を確認しおります。
118
299
  *動的なサイトのため、個々の要素の高さを固定できません。
119
300
  *各タブ、アンカーリンク飛び先のコンテンツ(<div class="scroll">内)は
120
301
  量がそれぞれ異なるため、タブを切り替えたタイミングで要素の高さが変わり