質問編集履歴

1

私の確認不足・見解の誤り点について追記しました。当該ソースコードの更新を行いました。。

2024/02/16 06:47

投稿

dandelion0626
dandelion0626

スコア4

test CHANGED
File without changes
test CHANGED
@@ -5,14 +5,121 @@
5
5
  これを「ページが読み込まれた際に『最初のタブメニューは開いた状態」」にしたいです。
6
6
 
7
7
  ### 発生している問題・分からないこと
8
- jQueryで「.on('load'」時にaddclassがされるように書いたつもりですが・・・・機能してないようで。
8
+ ~~jQueryで「.on('load'」時にaddclassがされるように書いたつもりですが・・・・機能してないようで。
9
- 解決方法が分かり兼ねております。
9
+ 解決方法が分かり兼ねております。~~
10
+ 恐れ入ります。私の見解誤り・確認不足だったようで、「.on('load'」は問題なく機能しておりました。
11
+ タブメニューの前にdivが入ると、ページが読み込まれた際に「タブメニューが全て閉じてしまっている」というのが現状でした。これを「ページが読み込まれた際に『最初のタブメニューは開いた状態』」にしたいです。
12
+
13
+ ※下記の該当のソースコードを「『nekora様が保管くださったコード』に当該div部分(<div class="price-title-container">)を加えたコード」に変更させて頂いております。
14
+  [文字数の関係で、影響がないとわかったスライダー・ハンバーガーメニューのjsは割愛致しております。]
10
15
 
11
16
 
12
17
 
13
18
  ### 該当のソースコード
14
19
 
15
20
  ```HTML
21
+ <!DOCTYPE html>
22
+ <html lang="jp">
23
+ <head>
24
+ <title>タブメニュー初期表示時オープン</title>
25
+ <script src="https://kit.fontawesome.com/26c6772bd8.js" crossorigin="anonymous"></script>
26
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
27
+ <!-- スクロールしたら文字色が変わる -->
28
+ <script src="js/midnight.jquery.js"></script>
29
+ <!-- タブメニュー -->
30
+ <script src="js/tab-menu.js"></script>
31
+ <!-- スクロールしたら文字色が変わる -->
32
+ <script>
33
+ $(document).on('ready', function() {
34
+ $('.change-color').midnight();
35
+ });
36
+ </script>
37
+
38
+ <style>
39
+ .price {
40
+ height: 100vh;
41
+ width: 100%;
42
+ }
43
+ .price .price-title-container {
44
+ writing-mode: vertical-rl;
45
+ display: flex;
46
+ margin: 0 auto;
47
+ padding-top: 76px;
48
+ }
49
+ .price .price-title-container .main-title {
50
+ font-size: 1.5rem;
51
+ font-weight: bold;
52
+ letter-spacing: 0.3rem;
53
+ margin: 0;
54
+ color: rgba(255, 255, 255, 0.7);
55
+ text-shadow: 0px 0px 8px #000, 0px 0px 8px #000;
56
+ }
57
+ .price .price-title-container .sub-title {
58
+ font-size: 1.5rem;
59
+ text-combine-upright: all;
60
+ margin: 0;
61
+ padding-top: 0.5rem;
62
+ color: rgba(255, 255, 255, 0.7);
63
+ text-shadow: 0px 0px 8px #000, 0px 0px 8px #000;
64
+ }
65
+
66
+ /* ーーータブメニュー ーーーー*/
67
+ /*tabの形状*/
68
+ .tab{
69
+ display: flex;
70
+ flex-wrap: wrap;
71
+ font-family: "shinryu", sans-serif;
72
+ font-weight: 400;
73
+ font-style: normal;
74
+ margin-left: 40px;
75
+ }
76
+ .tab li a{
77
+ display: block;
78
+ background:#ddd;
79
+ margin:0 2px;
80
+ padding:10px 20px;
81
+ }
82
+ /*liにactiveクラスがついた時の形状*/
83
+ .tab li.active a{
84
+ background:#fff;
85
+ }
86
+ /*エリアの表示非表示と形状*/
87
+ .area {
88
+ display: none;
89
+ opacity: 0;
90
+ background: #fff;
91
+ margin-left: 40px;
92
+ padding:50px 20px;
93
+ font-family: "shinryu", sans-serif;
94
+ font-weight: 400;
95
+ font-style: normal;
96
+ }
97
+ /*areaにis-activeというクラスがついた時の形状*/
98
+ .area.is-active {
99
+ display: block;
100
+ animation-name: displayAnime;
101
+ animation-duration: 2s;
102
+ animation-fill-mode: forwards;
103
+ }
104
+
105
+ @keyframes displayAnime{
106
+ from {
107
+ opacity: 0;
108
+ }
109
+ to {
110
+ opacity: 1;
111
+ }
112
+ }
113
+ /* ーーータブメニュー終了ーーーーーー*/
114
+ </style>
115
+ </head>
116
+
117
+ <body>
118
+ <section class="price scroll-area" data-midnight="shadow">
119
+ <div class="price-title-container">
120
+ <p class="main-title">料金</p>
121
+ <p class="sub-title">price</p>
122
+ </div>
16
123
  <ul class="tab">
17
124
  <li><a href="#menber2">2名様</a></li>
18
125
  <li><a href="#menber3">3名様</a></li>
@@ -140,129 +247,49 @@
140
247
  </tr>
141
248
  </table>
142
249
  </div>
250
+ </section>
251
+
252
+ <script>
253
+ //任意のタブにURLからリンクするための設定
254
+ function GethashID (hashIDName){
255
+ if(hashIDName){
256
+ $('.tab li').find('a').each(function() {
257
+ var idName = $(this).attr('href');
258
+ if(idName == hashIDName){
259
+ var parentElm = $(this).parent();
260
+ $('.tab li').removeClass("active");
261
+ $(parentElm).addClass("active");
262
+ //表示させるエリア設定
263
+ $(".area").removeClass("is-active");
264
+ $(hashIDName).addClass("is-active");
265
+ }
266
+ });
267
+ }
268
+ }
269
+
270
+ //タブをクリックしたら
271
+ $('.tab a').on('click', function() {
272
+ var idName = $(this).attr('href');
273
+ GethashID (idName);
274
+ return false;
275
+ });
276
+
277
+ // 上記の動きをページが読み込まれたらすぐに動かす
278
+ $(window).on('load', function () {
279
+ $('.tab li:first-of-type').addClass("active");
280
+ $('.area:first-of-type').addClass("is-active");
281
+ var hashName = location.hash;
282
+ GethashID (hashName);
283
+ });
284
+ </script>
285
+ </body>
286
+ </html>
143
287
  ```
144
288
 
145
- ```css
289
+
146
- // ーーータブメニュー ーーーー
290
+
147
- /*tabの形状*/
291
+
148
- .tab{
292
+
149
- display: flex;
150
- flex-wrap: wrap;
151
- font-family: "shinryu", sans-serif;
152
- font-weight: 400;
153
- font-style: normal;
154
- margin-left: 40px;
155
- }
156
- .tab li a{
157
- display: block;
158
- background:#ddd;
159
- margin:0 2px;
160
- padding:10px 20px;
161
- }
162
- /*liにactiveクラスがついた時の形状*/
163
- .tab li.active a{
164
- background:#fff;
165
- }
166
- /*エリアの表示非表示と形状*/
167
- .area {
168
- display: none;
169
- opacity: 0;
170
- background: #fff;
171
- margin-left: 40px;
172
- padding:50px 20px;
173
- font-family: "shinryu", sans-serif;
174
- font-weight: 400;
175
- font-style: normal;
176
- }
177
- /*areaにis-activeというクラスがついた時の形状*/
178
- .area.is-active {
179
- display: block;
180
- animation-name: displayAnime;
181
- animation-duration: 2s;
182
- animation-fill-mode: forwards;
183
- }
184
-
185
- @keyframes displayAnime{
186
- from {
187
- opacity: 0;
188
- }
189
- to {
190
- opacity: 1;
191
- }
192
- }
193
- // ーーータブメニュー終了ーーーーーー
194
- ```
195
-
196
- ```htmlのjs部分
197
- <script src="https://kit.fontawesome.com/26c6772bd8.js" crossorigin="anonymous"></script>
198
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
199
-
200
- <!-- スライダー -->
201
- <script src="js/slick.min.js"></script>
202
- <script src="js/slider-omotenashi.js"></script>
203
- <script src="js/slider-room.js"></script>
204
-
205
- <!-- スクロールしたら文字色が変わる -->
206
- <script src="js/midnight.jquery.js"></script>
207
-
208
- <!-- タブメニュー -->
209
- <script src="js/tab-menu.js"></script>
210
-
211
- <!-- ハンバーガーメニュー -->
212
- <script>
213
- $(function(){
214
- $(".hunberger-btn").on("click",function(){
215
- $(".menu").toggleClass("show")
216
- $(".transform1").toggleClass("rotate1")
217
- $(".transform2").toggleClass("opacity")
218
- $(".transform3").toggleClass("rotate3")
219
- })
220
- })
221
- </script>
222
-
223
- <!-- スクロールしたら文字色が変わる -->
224
- <script>
225
- $(document).ready(function(){
226
- $('.change-color').midnight();
227
- });
228
- </script>
229
-
230
- ```
231
-
232
- ```js
233
- //任意のタブにURLからリンクするための設定
234
- function GethashID (hashIDName){
235
- if(hashIDName){
236
- $('.tab li').find('a').each(function() {
237
- var idName = $(this).attr('href');
238
- if(idName == hashIDName){
239
- var parentElm = $(this).parent();
240
- $('.tab li').removeClass("active");
241
- $(parentElm).addClass("active");
242
- //表示させるエリア設定
243
- $(".area").removeClass("is-active");
244
- $(hashIDName).addClass("is-active");
245
- }
246
- });
247
- }
248
- }
249
-
250
- //タブをクリックしたら
251
- $('.tab a').on('click', function() {
252
- var idName = $(this).attr('href');
253
- GethashID (idName);
254
- return false;
255
- });
256
-
257
-
258
- // 上記の動きをページが読み込まれたらすぐに動かす
259
- $(window).on('load', function () {
260
- $('.tab li:first-of-type').addClass("active");
261
- $('.area:first-of-type').addClass("is-active");
262
- var hashName = location.hash;
263
- GethashID (hashName);
264
- });
265
- ```
266
293
 
267
294
  ### 試したこと・調べたこと
268
295
  - [x] teratailやGoogle等で検索した