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

質問編集履歴

4

修正しました。

2021/11/05 11:42

投稿

free_teku
free_teku

スコア103

title CHANGED
File without changes
body CHANGED
@@ -37,60 +37,48 @@
37
37
 
38
38
  ### 該当のソースコード
39
39
 
40
- ```HTML
41
- <!DOCTYPE html>
42
- <html lang="jp">
43
- <head>
44
- <meta charset="UTF-8">
45
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
46
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
47
- <title>石井</title>
48
- <meta name="description" content="おすすめ教材">
49
- <link rel="stylesheet" href="./css/destyle.css">
50
- <link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
51
- <link rel="stylesheet" href="./css/style.css">
52
- </head>
53
- <body>
54
- <header class="header">
55
- <div class="header-inner">
56
- <div class="header-left">
57
- <h1 class="logo">
58
- <a href="#">
59
- <img class="header-logo" src="/img/top-header-logo.png" alt="">
60
- </a>
61
- </h1>
62
-
63
- <nav class="nav nav-open drawer-nav">
64
- <ul class="header-list">
65
- <li class="header-item"> <a href="./Room/room.html">お部屋</a></li><!-- /.header-item -->
66
- <li class="header-item"> <a href="./Menu/menu.html">お料理</a></li><!-- /.header-item -->
67
- <li class="header-item"> <a href="./Onsen/onsen.html">温泉</a></li><!-- /.header-item -->
68
- </ul><!-- /.header-list -->
69
- </nav><!-- /.nav -->
70
-
71
- </div>
72
- <div class="header-right">
73
- <div class="header-link " id="js-modal">
74
- <a class="calender-link js-modal-open" href="#">
75
- <!-- <img src="./img/calender.png" alt="カレンダー"> -->
76
- 宿泊予約
77
- </a>
78
- </div><!-- /.header-link -->
79
40
 
80
- <button type="button" id="js-humburger" class=" humburger" aria-controls="js-glabal-menu" aria-expanded="false" area-label="メニューを開閉する">
81
- <span class="line"></span ><span class="line"></span><span class="line"></span>
82
- </button>
83
- </div><!-- /.header-right -->
84
- </div><!-- /.header-inner -->
85
- </header><!-- /.header -->
86
- <div class="overlay"></div><!-- /.overlay -->
87
- </body>
88
- </html>
89
41
 
90
42
  具体的なHTML,CSS,Jsは下記でございます。何卒宜しくお願い致します。
91
43
 
92
44
  [コード](https://jsfiddle.net/take0844/zk5sh2wn/5/)
93
45
 
46
+ ### 追記 js
47
+ ```js
48
+
49
+ if($("this").hasClass('_active')){
50
+ $(this).removeClass('_active');
51
+ $(".line").removeClass('_open');
52
+
53
+ $(nav).removeClass("nav-open");
54
+ // $(".drawer-nav").removeClass('_active');
55
+
56
+ $('.overlay').removeClass('_open');
57
+ }else{
58
+ $(this).addClass('_active');
59
+ $('.line').addClass('_open');
60
+
61
+ $(nav).addClass("nav-open");
62
+ $('.drawer-nav').addClass('_open');
63
+ $('.overlay').addClass('_open');
64
+ }
65
+ });
66
+
67
+ $('.overlay').on('click',function(){
68
+ if($(this).hasClass('_open')){
69
+
70
+ $(this).removeClass('_open');
71
+ $('.humburger').removeClass('_active');
72
+ $('.line').removeClass('_open');
73
+
74
+ $(nav).removeClass('nav-open');
75
+ // $('.drawer-nav').removeClass('_active');
76
+ }
77
+ });
78
+ });
79
+
80
+ ```
81
+
94
82
  今回はheader部分のnavです。
95
83
 
96
84
 

3

修正しました

2021/11/05 11:42

投稿

free_teku
free_teku

スコア103

title CHANGED
File without changes
body CHANGED
@@ -4,12 +4,21 @@
4
4
  [drawer](http://demo.tivel.jp/n/drawer/)
5
5
  ![現状](13acebe7ba6700112136141cbab2e1e1.jpeg) 
6
6
 
7
+ ご教授お願い致します。
8
+
7
9
  ### 発生している問題・エラーメッセージ
8
10
 
9
11
  ```
10
12
  drawer表示できない。
11
13
  transform
12
14
  jsのコードをURLから読み、どんな順序で設定しているのか理解はしていますが、、できずにいます。
15
+
16
+ ### 追記
17
+ 様々なことを試しました。
18
+ transform: translateZ(0); の書く場所が間違っているのか?→div toolでnavに書くと、反応する。しかし、humburgerクリック時、戻らない
19
+ 今は,
20
+ addClassでnavの開閉をしようとしていますが,append(<style> transformの変更)を試みようとしました→未解決
21
+
13
22
  ```
14
23
  ### 試したこと
15
24
  上記のサイト(DRAWer)でわかったことは[transform: translate(250px);」を使い、隠して、クリック時に transform: translateZ(0); でdrawerの機能を発揮するような感じがします。
@@ -77,323 +86,14 @@
77
86
  <div class="overlay"></div><!-- /.overlay -->
78
87
  </body>
79
88
  </html>
80
- ```
81
- ```CSS
82
- .header {
83
- position: fixed;
84
- top: 0;
85
- z-index: 999;
86
- width: 100%;
87
- max-height: 80px;
88
- background-color: transparent;
89
- display: -webkit-box;
90
- display: -webkit-flex;
91
- display: -ms-flexbox;
92
- display: flex;
93
- -webkit-box-pack: justify;
94
- -webkit-justify-content: space-between;
95
- -ms-flex-pack: justify;
96
- justify-content: space-between;
97
- padding: 10px 20px;
98
- }
99
89
 
100
- @media screen and (min-width: 600px) and (max-width: 1179px) {
90
+ 具体的なHTML,CSS,Jsは下記でございます。何卒宜しくお願い致します。
101
- .header {
102
- position: fixed;
103
- top: 0;
104
- padding: 15px 20px;
105
- }
106
- }
107
91
 
108
- @media screen and (max-width: 599px) {
92
+ [コード](https://jsfiddle.net/take0844/zk5sh2wn/5/)
109
- .header {
110
- position: fixed;
111
- top: 0;
112
- padding: 8px 10px;
113
- max-height: 60px;
114
- }
115
- }
116
93
 
117
- .header-inner {
94
+ 今回はheader部分のnavです。
118
- max-width: 1880px;
119
- width: 100%;
120
- display: -webkit-box;
121
- display: -webkit-flex;
122
- display: -ms-flexbox;
123
- display: flex;
124
- -webkit-box-align: center;
125
- -webkit-align-items: center;
126
- -ms-flex-align: center;
127
- align-items: center;
128
- margin: 0 auto;
129
- box-sizing: border-box;
130
- -webkit-box-sizing: border-box;
131
- }
132
95
 
133
- .header-left {
134
- display: -webkit-box;
135
- display: -webkit-flex;
136
- display: -ms-flexbox;
137
- display: flex;
138
- -webkit-box-pack: left;
139
- -webkit-justify-content: left;
140
- -ms-flex-pack: left;
141
- justify-content: left;
142
- -webkit-box-align: center;
143
- -webkit-align-items: center;
144
- -ms-flex-align: center;
145
- align-items: center;
146
- }
147
96
 
148
- .header-left h1 {
149
- display: block;
150
- }
151
97
 
152
- .header-left h1 .logo img {
153
- display: block;
154
- width: 130px;
155
- height: 130px;
156
- margin: 20px 120px 20px 20px;
157
- }
158
98
 
159
- .header-left .nav {
160
- display: -webkit-box;
161
- display: -webkit-flex;
162
- display: -ms-flexbox;
163
- display: flex;
164
- -webkit-box-pack: justify;
165
- -webkit-justify-content: space-between;
166
- -ms-flex-pack: justify;
167
- justify-content: space-between;
168
- -webkit-box-align: center;
169
- -webkit-align-items: center;
170
- -ms-flex-align: center;
171
- align-items: center;
172
- margin-left: 120px;
173
- /* @include tb {
174
- display: none;
175
- } */
176
- /* @include sp{
177
- right: -75%;
178
- } */
179
- }
180
-
181
- @media screen and (min-width: 600px) and (max-width: 1179px) {
182
- .header-left .nav {
183
- top: 80px;
184
- position: fixed;
185
- top: 150px;
186
- right: 0;
187
- z-index: 10;
188
- overflow: hidden;
189
- width: 16.25rem;
190
- background-color: #000;
191
- width: 50%;
192
- height: 60vh;
193
- -webkit-transform: translate(550px);
194
- transform: translate(550px);
195
- -webkit-transition: .5s;
196
- transition: .5s;
197
- }
198
- }
199
-
200
- @media screen and (max-width: 599px) {
201
- .header-left .nav {
202
- top: 60px;
203
- position: fixed;
204
- z-index: 2;
205
- overflow: hidden;
206
- width: 16.25rem;
207
- background-color: rgba(0, 0, 0, 0.9);
208
- width: 75%;
209
- -webkit-transition: margin-left .5s;
210
- transition: margin-left .5s;
211
- }
212
- }
213
-
214
- .header-left .nav .header-list {
215
- display: -webkit-box;
216
- display: -webkit-flex;
217
- display: -ms-flexbox;
218
- display: flex;
219
- -webkit-box-align: center;
220
- -webkit-align-items: center;
221
- -ms-flex-align: center;
222
- align-items: center;
223
- padding-top: 20px;
224
- padding-bottom: 20px;
225
- }
226
-
227
- .header-left .nav .header-list .header-item {
228
- color: #fff;
229
- }
230
-
231
- @media screen and (max-width: 599px) {
232
- .header-left .nav .header-list .header-item {
233
- padding: 20px;
234
- font-size: 2rem;
235
- }
236
- }
237
-
238
- .header-left .nav .header-list .header-item + .header-item {
239
- padding-left: 30px;
240
- }
241
-
242
- .header-left .nav .header-list .header-item > a {
243
- color: #fff;
244
- display: inline-block;
245
- -webkit-transition: .3s;
246
- transition: .3s;
247
- /* 0.3秒で拡大までの時間 */
248
- }
249
-
250
- .header-left .drawer-nav_active {
251
- -webkit-transform: translateZ(0);
252
- transform: translateZ(0);
253
- }
254
-
255
- .header-right {
256
- margin-left: auto;
257
- }
258
-
259
- @media screen and (max-width: 599px) {
260
- .header-right {
261
- margin-left: 20px;
262
- }
263
- }
264
-
265
- .header-right .header-link {
266
- /* height: calc(54/80*100%);
267
- background-color: $link-color;
268
- border-radius: 3px;
269
- padding: 15px 35px;
270
- display: flex;
271
- justify-content: flex-end;
272
- align-items: center; */
273
- }
274
-
275
- @media screen and (min-width: 600px) and (max-width: 1179px) {
276
- .header-right .header-link {
277
- margin-left: auto;
278
- }
279
- }
280
-
281
- .header-right .header-link .calender-link {
282
- display: block;
283
- background-color: #978F10;
284
- text-decoration: none;
285
- font-weight: bold;
286
- -webkit-box-align: center;
287
- -webkit-align-items: center;
288
- -ms-flex-align: center;
289
- align-items: center;
290
- text-align: center;
291
- color: #fff;
292
- padding: 10px 37px;
293
- font-size: 1.6rem;
294
- -webkit-transition: .3s;
295
- transition: .3s;
296
- }
297
-
298
- @media screen and (min-width: 600px) and (max-width: 1179px) {
299
- .header-right .header-link .calender-link {
300
- margin-right: 100px;
301
- }
302
- }
303
-
304
- @media screen and (max-width: 599px) {
305
- .header-right .header-link .calender-link {
306
- padding: 8px 16px;
307
- font-size: 1.4rem;
308
- }
309
- }
310
-
311
- .header-right .header-link .calender-link::before {
312
- content: "";
313
- display: inline-block;
314
- margin: -3px 5px 0 0;
315
- background: url(../../img/calender.png) no-repeat;
316
- background-size: contain;
317
- vertical-align: middle;
318
- width: 22px;
319
- height: 22px;
320
- }
321
-
322
- .header-right .header-link .calender-link:hover {
323
- background-color: #000;
324
- }
325
-
326
- /* .nav-wrapper{
327
- height: 100%;
328
- overflow-x: hidden;
329
- position: relative;
330
- } */
331
- .overlay {
332
- content: "";
333
- display: block;
334
- width: 0;
335
- height: 0;
336
- background-color: rgba(0, 0, 0, 0.5);
337
- position: absolute;
338
- top: 0;
339
- left: 0;
340
- z-index: 2;
341
- opacity: 0;
342
- -webkit-transition: opacity .5s;
343
- transition: opacity .5s;
344
- }
345
-
346
- .overlay._open {
347
- width: 100%;
348
- height: 100%;
349
- opacity: 1;
350
- }
351
- ```
352
- ```js
353
- $(function(){
354
- $(".humburger").on('click', function(){
355
- //humberger
356
- /* $(this).toggleClass("_active");
357
- $(".line").toggleClass("_open"); */
358
-
359
- //nav
360
- //$("nav").addClass("nav-open");
361
- //$(".drawer-nav").toggleClass("_active");
362
-
363
- if($("this").hasClass('_active')){
364
- $(this).removeClass('_active');
365
- $(".line").removeClass('_open');
366
-
367
- $(".drawer-nav").removeClass('_active');
368
- //$("nav").removeClass("nav-open");
369
-
370
- $('.overlay').removeClass('_open');
371
- }else{
372
- $(this).addClass('_active');
373
- $('.line').addClass('_open');
374
-
375
- $('.drawer-nav').addClass('_active');
376
- //$("nav").addClass("nav-open");
377
- $('.overlay').addClass('_open');
378
- }
379
- });
380
-
381
- $('.overlay').on('click',function(){
382
- if($(this).hasClass('_open')){
383
- $(this).removeClass('_open');
384
- $('.humburger').removeClass('_active');
385
- $('.line').removeClass('_open');
386
-
387
- //$('nav').removeClass('nav-open');
388
- $('.drawer-nav').removeClass('_active');
389
-
390
- }
391
- });
392
- });
393
-
394
- ```
395
-
396
-
397
-
398
-
399
99
  ### 補足情報(FW/ツールのバージョンなど)

2

修正しました

2021/11/05 09:30

投稿

free_teku
free_teku

スコア103

title CHANGED
File without changes
body CHANGED
@@ -2,9 +2,8 @@
2
2
  表題の通り、.humbergerをクリック時に、
3
3
  下記サイトのようなnavを表示させたい。
4
4
  [drawer](http://demo.tivel.jp/n/drawer/)
5
- ![現状](13acebe7ba6700112136141cbab2e1e1.jpeg)
5
+ ![現状](13acebe7ba6700112136141cbab2e1e1.jpeg) 
6
6
 
7
-
8
7
  ### 発生している問題・エラーメッセージ
9
8
 
10
9
  ```
@@ -21,6 +20,12 @@
21
20
  ※仮説:nav(bg-colorを指定している)もjsで扱わないといけないのですか??
22
21
 
23
22
 
23
+ ### 追記(行ったこと)
24
+ ※$("nav").css('display': 'none');
25
+ $("head").append('<style> nav{display: none;} </style>');
26
+ jsに humburgerに'_active'がないとき、上記を書いてもうまくいきません。ご教授お願い致します。
27
+
28
+
24
29
  ### 該当のソースコード
25
30
 
26
31
  ```HTML

1

修正いたしました

2021/11/05 08:07

投稿

free_teku
free_teku

スコア103

title CHANGED
File without changes
body CHANGED
@@ -18,6 +18,7 @@
18
18
  なので、humburgerをクリック時に、classをつけるなどして transform: translateZ(0); を調整しているのですが、navがスライドで表示されません。
19
19
 
20
20
  どなたか、ご教授いただけると幸いです。
21
+ ※仮説:nav(bg-colorを指定している)もjsで扱わないといけないのですか??
21
22
 
22
23
 
23
24
  ### 該当のソースコード