質問編集履歴

3

内容修正しました。

2019/12/03 07:38

投稿

lingwood
lingwood

スコア40

test CHANGED
File without changes
test CHANGED
@@ -2,33 +2,17 @@
2
2
 
3
3
 
4
4
 
5
- グローバルメニューの作成でハマッています。
5
+ グローバルメニューの作成でハマッていましたが、
6
-
7
- 時間がなく、焦っています。
6
+
8
-
9
-
10
-
11
- グローバルメニューは、
12
-
13
- ・デバイスの右上に開くボタンを設置
14
-
15
- ・ボタンはバーガーメニューなっています。
7
+ 以下の方法で一旦応急的解決しています。
16
-
17
- ・クリックするとアニメーションして×になります。
8
+
18
-
19
- ・グローバルメニューはフェードインしてくるタイプです。
9
+
20
-
21
- ・右上のボタンはposision:fixed;を設定していますので、そのままの位置です。
10
+
22
-
23
- ・グローバルメニューにはデバイス画面のボトムから10%程度を「閉じる」エリア(closer)にしてあり、
24
-
25
-  そをクリックしても閉じます。
11
+ やりたいとは、
26
-
27
-
28
12
 
29
13
  **グローバルメニューを開いた位置で背景が固定され、グローバルメニューを閉じてもそのままの位置をキープする**
30
14
 
31
- というグローバルメニューにしたいです。
15
+ というグローバルメニューです。
32
16
 
33
17
 
34
18
 
@@ -36,25 +20,15 @@
36
20
 
37
21
 
38
22
 
39
- ろいろ調べたところ、**モダルの動きが近かった**ため、応用しようと散々トライしたのでが、
23
+ 先ほど、問題となってるコド等を書ましたが、一旦下記方法にて急的に問題なく動いていま
40
-
41
- うまくいかず困っています。
24
+
42
-
43
-
44
-
45
- 下記が問題のコードになりますが、実行すると、
25
+
46
-
47
- ・フェードインまでは普通にできます。
26
+
48
-
49
- ・背景は固定されます。
50
-
51
-
52
-
53
- **重要**
54
-
55
- **・閉じるエリアをタップして閉じると期待する動になりました。**
27
+ touch closeエリアとメニューボタンしても背景を固定すができました。
56
-
28
+
29
+
30
+
57
- **右上のバーガーメニューをクリックするとグローバルメニューは閉じますが、bodyに付与されたposition:fixed;がそのまま残りつづけ画面がスクロールできな、とい現象になります。**
31
+ **ただ、処置としては右上のバーガーメニューの上に透明の別の要素被せてそこをクリックするという方法になります。**
58
32
 
59
33
 
60
34
 
@@ -64,936 +38,512 @@
64
38
 
65
39
  ```
66
40
 
41
+ <script>
42
+
43
+ $(function(){
44
+
45
+ $('#gnavi .menu').hide();
46
+
47
+
48
+
49
+ $('#gnavi .btn').click(function(){
50
+
51
+ $('#gnavi').toggleClass('active');
52
+
53
+ $('#gnavi .menu, #gnavi .closer').fadeToggle();
54
+
55
+ posi = $(window).scrollTop();
56
+
57
+ $('body').css({
58
+
59
+ position: 'fixed',
60
+
61
+ top: -1 * posi
62
+
63
+ });
64
+
65
+ });
66
+
67
+
68
+
69
+ $('#gnavi .closer, #gnavi .close-btn').click(function(){
70
+
71
+ $('#gnavi').toggleClass('active');
72
+
73
+ $('body').attr('style', '');
74
+
75
+ $('html, body').prop({scrollTop: posi});
76
+
77
+ $('#gnavi .menu, #gnavi .closer').fadeToggle();
78
+
79
+ });
80
+
81
+ });
82
+
83
+ </script>
84
+
85
+ <style>
86
+
67
- 【HTML】
87
+ /*
88
+
89
+
90
+
68
-
91
+ -- Global Navigation --
92
+
93
+
94
+
95
+ */
96
+
97
+
98
+
99
+
100
+
101
+ #gnavi {
102
+
103
+ position: relative;
104
+
105
+ z-index: 50;
106
+
107
+ }
108
+
109
+
110
+
111
+
112
+
113
+ /* botton-position */
114
+
115
+
116
+
117
+ #gnavi .area {
118
+
119
+ position: fixed;
120
+
121
+ top: 24px;
122
+
123
+ right: 8px;
124
+
125
+ z-index: 30;
126
+
127
+ }
128
+
129
+
130
+
131
+
132
+
133
+ /* botton-design */
134
+
135
+
136
+
137
+ #gnavi .btn,
138
+
139
+ #gnavi .close-btn {
140
+
141
+ display: none;
142
+
143
+ position: relative;
144
+
145
+ width: 54px;
146
+
147
+ height: 54px;
148
+
149
+ border-radius: 50%;
150
+
151
+ border: 1px solid #f0f0f0;
152
+
153
+ background: rgba(255,255,255,.8);
154
+
155
+ cursor: pointer;
156
+
157
+ z-index: 40;
158
+
159
+ }
160
+
161
+ #gnavi .close-btn {
162
+
163
+ position: absolute;
164
+
165
+ top: 0;
166
+
167
+ left: 0;
168
+
169
+ height: 72px;
170
+
171
+ border-radius: 0;
172
+
173
+ border: 0;
174
+
175
+ background: none;
176
+
177
+ }
178
+
179
+ @media (max-width: 800px) {
180
+
181
+ #gnavi .btn {
182
+
183
+ display: block;
184
+
185
+ }
186
+
187
+ }
188
+
189
+
190
+
191
+ #gnavi .bar {
192
+
193
+ position: relative;
194
+
195
+ width: 32px;
196
+
197
+ margin: 15px auto;
198
+
199
+ }
200
+
201
+ #gnavi .bar span {
202
+
203
+ display: block;
204
+
205
+ position: absolute;
206
+
207
+ left: 0;
208
+
209
+ width: 100%;
210
+
211
+ height: 2px;
212
+
213
+ background: #333333;
214
+
215
+ -webkit-transition: .35s ease-in-out;
216
+
217
+ -o-transition: .35s ease-in-out;
218
+
219
+ transition: .35s ease-in-out;
220
+
221
+ }
222
+
223
+ #gnavi .bar span:nth-child(1) {
224
+
225
+ top: 0;
226
+
227
+ }
228
+
229
+ #gnavi .bar span:nth-child(2) {
230
+
231
+ top: 10px;
232
+
233
+ }
234
+
235
+ #gnavi .bar span:nth-child(3) {
236
+
237
+ top: 20px;
238
+
239
+ }
240
+
241
+
242
+
243
+ #gnavi small {
244
+
245
+ position: absolute;
246
+
247
+ bottom: -20px;
248
+
249
+ right: 0;
250
+
251
+ width: 56px;
252
+
253
+ font-size: 12px;
254
+
255
+ }
256
+
257
+
258
+
259
+
260
+
261
+ /* botton-animation */
262
+
263
+
264
+
265
+ #gnavi.active .close-btn {
266
+
267
+ display: block;
268
+
269
+ }
270
+
271
+
272
+
273
+ #gnavi.active .bar span:nth-child(1) {
274
+
275
+ top: 11px;
276
+
277
+ -webkit-transform: rotate(-45deg);
278
+
279
+ -ms-transform: rotate(-45deg);
280
+
281
+ transform: rotate(-45deg);
282
+
283
+ }
284
+
285
+ #gnavi.active .bar span:nth-child(2) {
286
+
287
+ width: 0;
288
+
289
+ left: 50%;
290
+
291
+ }
292
+
293
+ #gnavi.active .bar span:nth-child(3) {
294
+
295
+ top: 11px;
296
+
297
+ -webkit-transform: rotate(45deg);
298
+
299
+ -ms-transform: rotate(45deg);
300
+
301
+ transform: rotate(45deg);
302
+
303
+ }
304
+
305
+
306
+
307
+
308
+
309
+ /* gnavi-closer */
310
+
311
+
312
+
313
+ #gnavi .closer {
314
+
315
+ display: none;
316
+
317
+ position: fixed;
318
+
319
+ bottom:0;
320
+
321
+ left: 0;
322
+
323
+ width: 100%;
324
+
325
+ height: 15%;
326
+
327
+ cursor: pointer;
328
+
329
+ background: rgba(0,0,0,.8);
330
+
331
+ color: #fff;
332
+
333
+ z-index: 20;
334
+
335
+ }
336
+
337
+ #gnavi .closer span {
338
+
339
+ display: inline-block;
340
+
341
+ padding-left: 24px;
342
+
343
+ background: url(../img/com-gnavi-btn-close.png) no-repeat;
344
+
345
+ background-position: left top 2px;
346
+
347
+ background-size: 22px;
348
+
349
+ font-size: 18px;
350
+
351
+ }
352
+
353
+
354
+
355
+
356
+
357
+ /* gnavi-menu-area */
358
+
359
+
360
+
361
+ #gnavi .menu {
362
+
363
+ display: none;
364
+
365
+ position: fixed;
366
+
367
+ top: 0;
368
+
369
+ left: 0;
370
+
371
+ right: 0;
372
+
373
+ width: 100%;
374
+
375
+ height: 100%;
376
+
377
+ z-index: 10;
378
+
379
+ overflow-y: scroll;
380
+
381
+ -webkit-overflow-scrolling: touch;
382
+
383
+ background:url(../img/img-common-bg-gnavi.jpg) repeat;
384
+
385
+
386
+
387
+ background: #ccc;
388
+
389
+ }
390
+
391
+
392
+
393
+ /* gnavi-menu-inner */
394
+
395
+
396
+
397
+ #gnavi .inn {
398
+
399
+ max-width: 560px;
400
+
401
+ margin: auto;
402
+
403
+ padding: 0 24px 24px;
404
+
405
+ }
406
+
407
+
408
+
409
+
410
+
411
+ /* gnavi-item */
412
+
413
+
414
+
415
+ #gnavi .item {
416
+
417
+ }
418
+
419
+
420
+
421
+ /* gnavi-link */
422
+
423
+
424
+
425
+ #gnavi .link {
426
+
427
+ display: block;
428
+
429
+ position: absolute;
430
+
431
+ top: 0;
432
+
433
+ left: 0;
434
+
435
+ width: 100%;
436
+
437
+ height: 100%;
438
+
439
+ cursor: pointer;
440
+
441
+ }
442
+
443
+ </style>
444
+
445
+
446
+
69
- <!-- btn -->
447
+ <!-- HTML -->
448
+
449
+
70
450
 
71
451
  <div id="gnavi">
72
452
 
453
+ <div class="area">
454
+
73
- <div class="gnavi_close closer"><p class="gnavi_close--close"><span>メニューを閉じる</span></p></div>
455
+ <div class="closer"><span>touch close</span></div>
456
+
457
+
458
+
74
-
459
+ <!-- 開閉ボタン -->
460
+
75
- <div id="gnavi_btn">
461
+ <div class="btn">
76
-
462
+
77
- <small>メニュー</small>
463
+ <small>メニュー</small>
78
-
464
+
79
- <div class="navibar">
465
+ <div class="bar">
80
-
466
+
81
- <span></span>
467
+ <span></span>
82
-
468
+
83
- <span></span>
469
+ <span></span>
84
-
470
+
85
- <span></span>
471
+ <span></span>
86
-
472
+
87
- </div>
473
+ </div>
474
+
475
+ <!-- /.btn-bar -->
476
+
477
+ </div>
478
+
479
+ <!-- /.btn -->
480
+
481
+ <div class="close-btn"></div>
482
+
483
+
484
+
485
+ <nav>
486
+
487
+ <div class="menu">
488
+
489
+ <ul class="inn">
490
+
491
+ <li class="item"><div>リンク</div><a class="link" href="#"></a></li>
492
+
493
+ <li class="item"></li>
494
+
495
+ <li class="item"></li>
496
+
497
+ </ul>
498
+
499
+ </div>
500
+
501
+ <!-- /.menu -->
502
+
503
+ </nav>
504
+
505
+
506
+
507
+ </div>
508
+
509
+ <!-- /.gnavi__area -->
88
510
 
89
511
  </div>
90
512
 
91
- <!-- /.btn -->
513
+ <!-- /#gnavi -->
514
+
515
+
516
+
92
-
517
+ <!-- ------------------------------------------ << / GLOBAL NAVI >> ------------------------------------------ -->
93
-
94
-
518
+
519
+
520
+
95
- <nav>
521
+ </div>
96
-
522
+
97
- <div class="menu__area">
523
+ <!-- /.mvisual_header -->
98
-
99
- <div class="menu_inn">
100
524
 
101
525
  </div>
102
526
 
103
-
104
-
105
-      グローバルメニューの中身
106
-
107
-
108
-
109
- <!-- /.menu_inn -->
527
+ <!-- /.mvisual_inn -->
110
528
 
111
529
  </div>
112
530
 
113
- <!-- /.menu__area -->
531
+ <!-- /.mvisual__area -->
114
-
532
+
115
- </nav>
533
+ </div>
116
-
117
-
118
-
119
-
120
-
121
- JQueryトライ1------------------------
534
+
122
-
123
- $(function(){
124
-
125
- $('.menu__area').hide();
126
-
127
-
128
-
129
- $('#gnavi_btn').on('click', function(){
130
-
131
- $('#gnavi').toggleClass('active'); //アニメーション用
132
-
133
- posi = $(window).scrollTop();
134
-
135
- $('body').css({
136
-
137
- position: 'fixed',
535
+ <!-- /#header -->
138
-
139
- top: -1 * posi
536
+
140
-
141
- });
142
-
143
- $('html, body').prop({scrollTop: posi});
144
-
145
- $('.menu__area,.closer').fadeToggle();
146
-
147
- });
148
-
149
-
150
-
151
- $('.gnavi_close').on('click', function(){
152
-
153
- $('#gnavi').toggleClass('active');
154
-
155
- $('body').attr('style', '');
156
-
157
- $('html, body').prop({scrollTop: posi});
158
-
159
- $('.menu__area,.closer').fadeToggle();
160
-
161
- });
162
-
163
- });
164
-
165
-
166
-
167
- トライ2------------------------
168
-
169
- $(function(){
170
-
171
- $('.menu__area').hide();
172
-
173
-
174
-
175
- $('#gnavi_btn').on('click', function(){
176
-
177
- $('#gnavi').toggleClass('active'); //アニメーション用
178
-
179
- $('#gnavi_btn').attr({id:'gnavi_btn2',class:'btn_close'}); /* idを書き換える */
180
-
181
- posi = $(window).scrollTop();
182
-
183
- $('body').css({
184
-
185
- position: 'fixed',
537
+ </header>
186
-
187
- top: -1 * posi
188
-
189
- });
190
-
191
- $('html, body').prop({scrollTop: posi});
192
-
193
- $('.menu__area,.closer').fadeToggle();
194
-
195
- });
196
-
197
-
198
-
199
- $('#gnavi_btn2').on('click', function(){ /*
200
-
201
- $('#gnavi').toggleClass('active');
202
-
203
- $('body').attr('style', '');
204
-
205
- $('html, body').prop({scrollTop: posi});
206
-
207
- $('.menu__area,.closer').fadeToggle();
208
-
209
- });
210
-
211
-
212
-
213
- $('.gnavi_close').on('click', function(){
214
-
215
- $('#gnavi').toggleClass('active');
216
-
217
- $('body').attr('style', '');
218
-
219
- $('html, body').prop({scrollTop: posi});
220
-
221
- $('.menu__area,.closer').fadeToggle();
222
-
223
- });
224
-
225
- });
226
538
 
227
539
  ```
228
540
 
229
541
 
230
542
 
231
- ### 試したこと
232
-
233
-
234
-
235
- idを置き換え、見た目には変わらない別のボタン(#gnave_2)を作成してクリックイベントに指定しようと思ったのですが、書き換えたidが反応しませんでした。
236
-
237
-
238
-
239
- か、本当によろくお願いしますm( _ _ )m
543
+ 一応上記で動いていますが、もスマートなやり方はなょうか?
240
-
241
-
242
-
243
- ##追記
544
+
244
-
245
-
246
-
247
- 今、以下のコードで改めてトライしてみたところ、メニューボタン開閉で背景固定・位置キープ近づいたのですが、
545
+ ボタンの要素を被せるのはなく、JQueryでなんとかできればと思いま
248
-
249
- 今度はボタンのアニメーションが変になりました。
546
+
250
-
251
-
252
-
253
- ご教授いただけませんでしょうか?
547
+
254
548
 
255
549
  よろしくお願い致します。
256
-
257
-
258
-
259
- ```JQuery
260
-
261
- $(function(){
262
-
263
- $('.menu__area').hide();
264
-
265
-
266
-
267
- $('#gnavi_btn').on('click', function(){
268
-
269
- $('#gnavi').addClass('active');
270
-
271
- $('#gnavi_btn').addClass('btn_hide');
272
-
273
- $('#gnavi_btn2').addClass('btn_show');
274
-
275
- posi = $(window).scrollTop();
276
-
277
- $('body').css({
278
-
279
- position: 'fixed',
280
-
281
- top: -1 * posi
282
-
283
- });
284
-
285
- $('html, body').prop({scrollTop: posi});
286
-
287
- $('.menu__area,.closer').fadeToggle();
288
-
289
- });
290
-
291
-
292
-
293
- $('.gnavi_close').on('click', function(){
294
-
295
- $('#gnavi').removeClass('active');
296
-
297
- $('#gnavi_btn').removeClass('btn_hide');
298
-
299
- $('#gnavi_btn2').removeClass('btn_show');
300
-
301
- $('#gnavi_btn').addClass('btn_show');
302
-
303
- $('#gnavi_btn2').addClass('btn_hide');
304
-
305
- $('body').attr('style', '');
306
-
307
- $('html, body').prop({scrollTop: posi});
308
-
309
- $('.menu__area,.closer').fadeToggle();
310
-
311
- });
312
-
313
-
314
-
315
- $('#gnavi_btn2').on('click', function(){
316
-
317
- $('#gnavi').removeClass('active');
318
-
319
- $('#gnavi_btn').removeClass('btn_hide');
320
-
321
- $('#gnavi_btn2').removeClass('btn_show');
322
-
323
- $('#gnavi_btn').addClass('btn_show');
324
-
325
- $('#gnavi_btn2').addClass('btn_hide');
326
-
327
- $('body').attr('style', '');
328
-
329
- $('html, body').prop({scrollTop: posi});
330
-
331
- $('.menu__area,.closer').fadeToggle();
332
-
333
- });
334
-
335
- });
336
-
337
- ```
338
-
339
-
340
-
341
-
342
-
343
- CSS追記
344
-
345
- ```
346
-
347
- /* ========================================== */
348
-
349
- /* gnavi
350
-
351
- /* ========================================== */
352
-
353
-
354
-
355
- .stop-scroll {
356
-
357
- position:fixed;
358
-
359
- }
360
-
361
-
362
-
363
-
364
-
365
- /* botton
366
-
367
- --------------------------------------*/
368
-
369
- /* index */
370
-
371
- #gnavi {
372
-
373
- position: relative;
374
-
375
- }
376
-
377
- #gnavi_btn,
378
-
379
- #gnavi_btn2/*テスト中*/ {
380
-
381
- position: fixed;
382
-
383
- top: 24px;
384
-
385
- right: 8px;
386
-
387
- width: 54px;
388
-
389
- height: 54px;
390
-
391
- border-radius: 50%;
392
-
393
- border: 1px solid #f0f0f0;
394
-
395
- padding: 16px 14px;
396
-
397
- background: rgba(255,255,255,.8);
398
-
399
- cursor: pointer;
400
-
401
- z-index: 10;
402
-
403
- }
404
-
405
- #gnavi_btn .navibar {
406
-
407
- position: relative;
408
-
409
- }
410
-
411
- #gnavi_btn .navibar span {
412
-
413
- display: block;
414
-
415
- position: absolute;
416
-
417
- left: 0;
418
-
419
- width: 100%;
420
-
421
- height: 2px;
422
-
423
- background: #333333;
424
-
425
- -webkit-transition: .35s ease-in-out;
426
-
427
- -o-transition: .35s ease-in-out;
428
-
429
- transition: .35s ease-in-out;
430
-
431
- }
432
-
433
- #gnavi_btn .navibar span:nth-child(1) {
434
-
435
- top: 0;
436
-
437
- }
438
-
439
- #gnavi_btn .navibar span:nth-child(2) {
440
-
441
- top: 10px;
442
-
443
- }
444
-
445
- #gnavi_btn .navibar span:nth-child(3) {
446
-
447
- top: 20px;
448
-
449
- }
450
-
451
-
452
-
453
- @media (max-width: 512px) {
454
-
455
- /* sub */
456
-
457
- #gnavi_btn.sub {
458
-
459
- position: absolute;
460
-
461
- top: 40px;
462
-
463
- right: 16px;
464
-
465
- width: 40px;
466
-
467
- height: 40px;
468
-
469
- padding: 8px 10px;
470
-
471
- }
472
-
473
- #gnavi_btn.sub .navibar span:nth-child(1) {
474
-
475
- top: 2px;
476
-
477
- }
478
-
479
- #gnavi_btn.sub .navibar span:nth-child(2) {
480
-
481
- top: 10px;
482
-
483
- }
484
-
485
- #gnavi_btn.sub .navibar span:nth-child(3) {
486
-
487
- top: 18px;
488
-
489
- }
490
-
491
- }
492
-
493
-
494
-
495
- /* ボタン */
496
-
497
- #gnavi_btn {
498
-
499
- display: none;
500
-
501
- }
502
-
503
- @media (max-width: 800px) {
504
-
505
- #gnavi_btn {
506
-
507
- display: block;
508
-
509
- z-index: 110;
510
-
511
- }
512
-
513
- #gnavi_btn small {
514
-
515
- position: absolute;
516
-
517
- bottom: -20px;
518
-
519
- right: 0;
520
-
521
- z-index: 10;
522
-
523
- font-size: 12px;
524
-
525
- width: 56px;
526
-
527
- }
528
-
529
- }
530
-
531
- @media (max-width: 512px) {
532
-
533
- #gnavi_btn.sub small {
534
-
535
- right: -8px;
536
-
537
- }
538
-
539
- }
540
-
541
-
542
-
543
-
544
-
545
- /* ボタンアニメーション */
546
-
547
- #gnavi.active #gnavi_btn .navibar span:nth-child(1) {
548
-
549
- top: 11px;
550
-
551
- -webkit-transform: rotate(-45deg);
552
-
553
- -ms-transform: rotate(-45deg);
554
-
555
- transform: rotate(-45deg);
556
-
557
- }
558
-
559
- #gnavi.active #gnavi_btn span:nth-child(2) {
560
-
561
- width: 0;
562
-
563
- left: 50%;
564
-
565
- }
566
-
567
- #gnavi.active #gnavi_btn span:nth-child(3) {
568
-
569
- top: 11px;
570
-
571
- -webkit-transform: rotate(45deg);
572
-
573
- -ms-transform: rotate(45deg);
574
-
575
- transform: rotate(45deg);
576
-
577
- }
578
-
579
-
580
-
581
- /* closer */
582
-
583
- #gnavi .closer {
584
-
585
- display: none;
586
-
587
- position: fixed;
588
-
589
- bottom:0;
590
-
591
- left: 0;
592
-
593
- width: 100%;
594
-
595
- height: 10%;
596
-
597
- cursor: pointer;
598
-
599
- background: rgba(0,0,0,.8);
600
-
601
- z-index: 80;
602
-
603
- }
604
-
605
- /*
606
-
607
- .closer::after {
608
-
609
- content: 'メニューを閉じる';
610
-
611
- position: absolute;
612
-
613
- bottom: 0;
614
-
615
- left: 0;
616
-
617
- right: 0;
618
-
619
- margin: auto;
620
-
621
- text-align: center;
622
-
623
- font-size: 24px;
624
-
625
- color: #fff;
626
-
627
- }
628
-
629
- */
630
-
631
- .gnavi_close--close {
632
-
633
- position: absolute;
634
-
635
- color: #fff;
636
-
637
- top: 0;
638
-
639
- bottom: 0;
640
-
641
- height: 20px;
642
-
643
- margin: auto;
644
-
645
- text-align: center;
646
-
647
- left: 0;
648
-
649
- right: 0;
650
-
651
- }
652
-
653
- .gnavi_close--close span {
654
-
655
- display: inline-block;
656
-
657
- padding-left: 24px;
658
-
659
- background: url(../img/com-gnavi-btn-close.png) no-repeat;
660
-
661
- background-position: left top 2px;
662
-
663
- background-size: 22px;
664
-
665
- font-size: 18px;
666
-
667
- }
668
-
669
-
670
-
671
-
672
-
673
- #gnavi.active .closer img {
674
-
675
- position: fixed;
676
-
677
- top: 50%;
678
-
679
- bottom: 0;
680
-
681
- left: 0;
682
-
683
- right: 0;
684
-
685
- width: 56px;
686
-
687
- height: 56px;
688
-
689
- margin: auto;
690
-
691
- cursor: pointer;
692
-
693
- }
694
-
695
- #gnavi.active .closer {
696
-
697
- z-index: 90;
698
-
699
- }
700
-
701
-
702
-
703
- /* レイヤー */
704
-
705
- .menu__area {
706
-
707
- display: none;
708
-
709
- position: fixed;
710
-
711
- top: 0;
712
-
713
- left: 0;
714
-
715
- right: 0;
716
-
717
- width: 100%;
718
-
719
- height: 100%;
720
-
721
- z-index: 70;
722
-
723
- overflow-y: scroll;
724
-
725
- -webkit-overflow-scrolling: touch;
726
-
727
- background:url(../img/img-common-bg-gnavi.jpg) repeat;
728
-
729
- }
730
-
731
- .menu_inn {
732
-
733
- max-width: 560px;
734
-
735
- margin: auto;
736
-
737
- padding: 0 24px 24px;
738
-
739
- }
740
-
741
-
742
-
743
- /*
744
-
745
-
746
-
747
- navi item
748
-
749
-
750
-
751
- */
752
-
753
- .keywords_input .fmt.sp {
754
-
755
- font-size: 17px;
756
-
757
- }
758
-
759
-
760
-
761
- .menu,
762
-
763
- .menu__area form,
764
-
765
- .menu_grid {
766
-
767
- margin-top: 12px;
768
-
769
- }
770
-
771
-
772
-
773
- .menu_grid {
774
-
775
- display: -webkit-box;
776
-
777
- display: -ms-flexbox;
778
-
779
- display: flex;
780
-
781
- -webkit-box-pack: space-evenly;
782
-
783
- -ms-flex-pack: center;
784
-
785
- -ms-flex-pack: space-evenly;
786
-
787
- justify-content: space-evenly;
788
-
789
- }
790
-
791
-
792
-
793
- /* headline */
794
-
795
- .menu_hd {
796
-
797
- text-align: center;
798
-
799
- margin-top: 32px;
800
-
801
- font-size: 30px;
802
-
803
- font-size: 3.0rem;
804
-
805
- font-weight: 900;
806
-
807
- }
808
-
809
- @media (max-width: 512px) {
810
-
811
- .menu_hd {
812
-
813
- font-size: 24px;
814
-
815
- font-size: 2.4rem;
816
-
817
- }
818
-
819
- }
820
-
821
-
822
-
823
- /* ttl */
824
-
825
- .menu_ttl {
826
-
827
- margin-top: 24px;
828
-
829
- text-align: left;
830
-
831
- font-weight: 700;
832
-
833
- }
834
-
835
- .menu_ttl_img {
836
-
837
- width: 80%;
838
-
839
- min-width: 198px;
840
-
841
- margin: 24px auto 0;
842
-
843
- border: 2px solid #4d4d4d;
844
-
845
- }
846
-
847
-
848
-
849
- /* obj */
850
-
851
-
852
-
853
- .menu_obj {
854
-
855
- position: relative;
856
-
857
- display: -webkit-box;
858
-
859
- display: -ms-flexbox;
860
-
861
- display: flex;
862
-
863
- -webkit-box-align: center;
864
-
865
- -ms-flex-align: center;
866
-
867
- align-items: center;
868
-
869
- margin-bottom: 12px;
870
-
871
- border: 2px solid #4d4d4d;
872
-
873
- background: #fff;
874
-
875
- color: #333333;
876
-
877
- }
878
-
879
- .menu_obj.bd-thin {
880
-
881
- border: 1px solid #4d4d4d;
882
-
883
- }
884
-
885
- .menu_obj.grid {
886
-
887
- -webkit-box-orient: vertical;
888
-
889
- -webkit-box-direction: normal;
890
-
891
- -ms-flex-direction: column;
892
-
893
- flex-direction: column;
894
-
895
- width: 36%;
896
-
897
- min-width: 120px;
898
-
899
- margin: 0 6px;
900
-
901
- }
902
-
903
-
904
-
905
-
906
-
907
- /* thumb */
908
-
909
-
910
-
911
- .menu_thumb {
912
-
913
- padding: 16px;
914
-
915
- border-right: 2px solid #4d4d4d;
916
-
917
- background: #efefef;
918
-
919
- }
920
-
921
- .menu_thumb.cont {
922
-
923
- padding: 0;
924
-
925
- border-right: 0;
926
-
927
- }
928
-
929
- .menu_thumb.cont {
930
-
931
- }
932
-
933
-
934
-
935
- .menu_thumb img {
936
-
937
- width: 32px;
938
-
939
- }
940
-
941
- .menu_thumb.corp img {
942
-
943
- width: 64px;
944
-
945
- }
946
-
947
- .menu_thumb.cont img {
948
-
949
- width: 100%;
950
-
951
- }
952
-
953
-
954
-
955
- /* name */
956
-
957
-
958
-
959
- .menu_name {
960
-
961
- padding-left: 20px;
962
-
963
- }
964
-
965
- .menu_name.corp {
966
-
967
- padding-left: 0;
968
-
969
- margin-bottom: 8px;
970
-
971
- }
972
-
973
-
974
-
975
- /* link */
976
-
977
-
978
-
979
- .menu_link {
980
-
981
- display: block;
982
-
983
- position: absolute;
984
-
985
- top: 0;
986
-
987
- left: 0;
988
-
989
- width: 100%;
990
-
991
- height: 100%;
992
-
993
- cursor: pointer;
994
-
995
- color: #333333;
996
-
997
- }
998
-
999
- ```

2

CSSを追記

2019/12/03 07:38

投稿

lingwood
lingwood

スコア40

test CHANGED
File without changes
test CHANGED
@@ -335,3 +335,665 @@
335
335
  });
336
336
 
337
337
  ```
338
+
339
+
340
+
341
+
342
+
343
+ CSS追記
344
+
345
+ ```
346
+
347
+ /* ========================================== */
348
+
349
+ /* gnavi
350
+
351
+ /* ========================================== */
352
+
353
+
354
+
355
+ .stop-scroll {
356
+
357
+ position:fixed;
358
+
359
+ }
360
+
361
+
362
+
363
+
364
+
365
+ /* botton
366
+
367
+ --------------------------------------*/
368
+
369
+ /* index */
370
+
371
+ #gnavi {
372
+
373
+ position: relative;
374
+
375
+ }
376
+
377
+ #gnavi_btn,
378
+
379
+ #gnavi_btn2/*テスト中*/ {
380
+
381
+ position: fixed;
382
+
383
+ top: 24px;
384
+
385
+ right: 8px;
386
+
387
+ width: 54px;
388
+
389
+ height: 54px;
390
+
391
+ border-radius: 50%;
392
+
393
+ border: 1px solid #f0f0f0;
394
+
395
+ padding: 16px 14px;
396
+
397
+ background: rgba(255,255,255,.8);
398
+
399
+ cursor: pointer;
400
+
401
+ z-index: 10;
402
+
403
+ }
404
+
405
+ #gnavi_btn .navibar {
406
+
407
+ position: relative;
408
+
409
+ }
410
+
411
+ #gnavi_btn .navibar span {
412
+
413
+ display: block;
414
+
415
+ position: absolute;
416
+
417
+ left: 0;
418
+
419
+ width: 100%;
420
+
421
+ height: 2px;
422
+
423
+ background: #333333;
424
+
425
+ -webkit-transition: .35s ease-in-out;
426
+
427
+ -o-transition: .35s ease-in-out;
428
+
429
+ transition: .35s ease-in-out;
430
+
431
+ }
432
+
433
+ #gnavi_btn .navibar span:nth-child(1) {
434
+
435
+ top: 0;
436
+
437
+ }
438
+
439
+ #gnavi_btn .navibar span:nth-child(2) {
440
+
441
+ top: 10px;
442
+
443
+ }
444
+
445
+ #gnavi_btn .navibar span:nth-child(3) {
446
+
447
+ top: 20px;
448
+
449
+ }
450
+
451
+
452
+
453
+ @media (max-width: 512px) {
454
+
455
+ /* sub */
456
+
457
+ #gnavi_btn.sub {
458
+
459
+ position: absolute;
460
+
461
+ top: 40px;
462
+
463
+ right: 16px;
464
+
465
+ width: 40px;
466
+
467
+ height: 40px;
468
+
469
+ padding: 8px 10px;
470
+
471
+ }
472
+
473
+ #gnavi_btn.sub .navibar span:nth-child(1) {
474
+
475
+ top: 2px;
476
+
477
+ }
478
+
479
+ #gnavi_btn.sub .navibar span:nth-child(2) {
480
+
481
+ top: 10px;
482
+
483
+ }
484
+
485
+ #gnavi_btn.sub .navibar span:nth-child(3) {
486
+
487
+ top: 18px;
488
+
489
+ }
490
+
491
+ }
492
+
493
+
494
+
495
+ /* ボタン */
496
+
497
+ #gnavi_btn {
498
+
499
+ display: none;
500
+
501
+ }
502
+
503
+ @media (max-width: 800px) {
504
+
505
+ #gnavi_btn {
506
+
507
+ display: block;
508
+
509
+ z-index: 110;
510
+
511
+ }
512
+
513
+ #gnavi_btn small {
514
+
515
+ position: absolute;
516
+
517
+ bottom: -20px;
518
+
519
+ right: 0;
520
+
521
+ z-index: 10;
522
+
523
+ font-size: 12px;
524
+
525
+ width: 56px;
526
+
527
+ }
528
+
529
+ }
530
+
531
+ @media (max-width: 512px) {
532
+
533
+ #gnavi_btn.sub small {
534
+
535
+ right: -8px;
536
+
537
+ }
538
+
539
+ }
540
+
541
+
542
+
543
+
544
+
545
+ /* ボタンアニメーション */
546
+
547
+ #gnavi.active #gnavi_btn .navibar span:nth-child(1) {
548
+
549
+ top: 11px;
550
+
551
+ -webkit-transform: rotate(-45deg);
552
+
553
+ -ms-transform: rotate(-45deg);
554
+
555
+ transform: rotate(-45deg);
556
+
557
+ }
558
+
559
+ #gnavi.active #gnavi_btn span:nth-child(2) {
560
+
561
+ width: 0;
562
+
563
+ left: 50%;
564
+
565
+ }
566
+
567
+ #gnavi.active #gnavi_btn span:nth-child(3) {
568
+
569
+ top: 11px;
570
+
571
+ -webkit-transform: rotate(45deg);
572
+
573
+ -ms-transform: rotate(45deg);
574
+
575
+ transform: rotate(45deg);
576
+
577
+ }
578
+
579
+
580
+
581
+ /* closer */
582
+
583
+ #gnavi .closer {
584
+
585
+ display: none;
586
+
587
+ position: fixed;
588
+
589
+ bottom:0;
590
+
591
+ left: 0;
592
+
593
+ width: 100%;
594
+
595
+ height: 10%;
596
+
597
+ cursor: pointer;
598
+
599
+ background: rgba(0,0,0,.8);
600
+
601
+ z-index: 80;
602
+
603
+ }
604
+
605
+ /*
606
+
607
+ .closer::after {
608
+
609
+ content: 'メニューを閉じる';
610
+
611
+ position: absolute;
612
+
613
+ bottom: 0;
614
+
615
+ left: 0;
616
+
617
+ right: 0;
618
+
619
+ margin: auto;
620
+
621
+ text-align: center;
622
+
623
+ font-size: 24px;
624
+
625
+ color: #fff;
626
+
627
+ }
628
+
629
+ */
630
+
631
+ .gnavi_close--close {
632
+
633
+ position: absolute;
634
+
635
+ color: #fff;
636
+
637
+ top: 0;
638
+
639
+ bottom: 0;
640
+
641
+ height: 20px;
642
+
643
+ margin: auto;
644
+
645
+ text-align: center;
646
+
647
+ left: 0;
648
+
649
+ right: 0;
650
+
651
+ }
652
+
653
+ .gnavi_close--close span {
654
+
655
+ display: inline-block;
656
+
657
+ padding-left: 24px;
658
+
659
+ background: url(../img/com-gnavi-btn-close.png) no-repeat;
660
+
661
+ background-position: left top 2px;
662
+
663
+ background-size: 22px;
664
+
665
+ font-size: 18px;
666
+
667
+ }
668
+
669
+
670
+
671
+
672
+
673
+ #gnavi.active .closer img {
674
+
675
+ position: fixed;
676
+
677
+ top: 50%;
678
+
679
+ bottom: 0;
680
+
681
+ left: 0;
682
+
683
+ right: 0;
684
+
685
+ width: 56px;
686
+
687
+ height: 56px;
688
+
689
+ margin: auto;
690
+
691
+ cursor: pointer;
692
+
693
+ }
694
+
695
+ #gnavi.active .closer {
696
+
697
+ z-index: 90;
698
+
699
+ }
700
+
701
+
702
+
703
+ /* レイヤー */
704
+
705
+ .menu__area {
706
+
707
+ display: none;
708
+
709
+ position: fixed;
710
+
711
+ top: 0;
712
+
713
+ left: 0;
714
+
715
+ right: 0;
716
+
717
+ width: 100%;
718
+
719
+ height: 100%;
720
+
721
+ z-index: 70;
722
+
723
+ overflow-y: scroll;
724
+
725
+ -webkit-overflow-scrolling: touch;
726
+
727
+ background:url(../img/img-common-bg-gnavi.jpg) repeat;
728
+
729
+ }
730
+
731
+ .menu_inn {
732
+
733
+ max-width: 560px;
734
+
735
+ margin: auto;
736
+
737
+ padding: 0 24px 24px;
738
+
739
+ }
740
+
741
+
742
+
743
+ /*
744
+
745
+
746
+
747
+ navi item
748
+
749
+
750
+
751
+ */
752
+
753
+ .keywords_input .fmt.sp {
754
+
755
+ font-size: 17px;
756
+
757
+ }
758
+
759
+
760
+
761
+ .menu,
762
+
763
+ .menu__area form,
764
+
765
+ .menu_grid {
766
+
767
+ margin-top: 12px;
768
+
769
+ }
770
+
771
+
772
+
773
+ .menu_grid {
774
+
775
+ display: -webkit-box;
776
+
777
+ display: -ms-flexbox;
778
+
779
+ display: flex;
780
+
781
+ -webkit-box-pack: space-evenly;
782
+
783
+ -ms-flex-pack: center;
784
+
785
+ -ms-flex-pack: space-evenly;
786
+
787
+ justify-content: space-evenly;
788
+
789
+ }
790
+
791
+
792
+
793
+ /* headline */
794
+
795
+ .menu_hd {
796
+
797
+ text-align: center;
798
+
799
+ margin-top: 32px;
800
+
801
+ font-size: 30px;
802
+
803
+ font-size: 3.0rem;
804
+
805
+ font-weight: 900;
806
+
807
+ }
808
+
809
+ @media (max-width: 512px) {
810
+
811
+ .menu_hd {
812
+
813
+ font-size: 24px;
814
+
815
+ font-size: 2.4rem;
816
+
817
+ }
818
+
819
+ }
820
+
821
+
822
+
823
+ /* ttl */
824
+
825
+ .menu_ttl {
826
+
827
+ margin-top: 24px;
828
+
829
+ text-align: left;
830
+
831
+ font-weight: 700;
832
+
833
+ }
834
+
835
+ .menu_ttl_img {
836
+
837
+ width: 80%;
838
+
839
+ min-width: 198px;
840
+
841
+ margin: 24px auto 0;
842
+
843
+ border: 2px solid #4d4d4d;
844
+
845
+ }
846
+
847
+
848
+
849
+ /* obj */
850
+
851
+
852
+
853
+ .menu_obj {
854
+
855
+ position: relative;
856
+
857
+ display: -webkit-box;
858
+
859
+ display: -ms-flexbox;
860
+
861
+ display: flex;
862
+
863
+ -webkit-box-align: center;
864
+
865
+ -ms-flex-align: center;
866
+
867
+ align-items: center;
868
+
869
+ margin-bottom: 12px;
870
+
871
+ border: 2px solid #4d4d4d;
872
+
873
+ background: #fff;
874
+
875
+ color: #333333;
876
+
877
+ }
878
+
879
+ .menu_obj.bd-thin {
880
+
881
+ border: 1px solid #4d4d4d;
882
+
883
+ }
884
+
885
+ .menu_obj.grid {
886
+
887
+ -webkit-box-orient: vertical;
888
+
889
+ -webkit-box-direction: normal;
890
+
891
+ -ms-flex-direction: column;
892
+
893
+ flex-direction: column;
894
+
895
+ width: 36%;
896
+
897
+ min-width: 120px;
898
+
899
+ margin: 0 6px;
900
+
901
+ }
902
+
903
+
904
+
905
+
906
+
907
+ /* thumb */
908
+
909
+
910
+
911
+ .menu_thumb {
912
+
913
+ padding: 16px;
914
+
915
+ border-right: 2px solid #4d4d4d;
916
+
917
+ background: #efefef;
918
+
919
+ }
920
+
921
+ .menu_thumb.cont {
922
+
923
+ padding: 0;
924
+
925
+ border-right: 0;
926
+
927
+ }
928
+
929
+ .menu_thumb.cont {
930
+
931
+ }
932
+
933
+
934
+
935
+ .menu_thumb img {
936
+
937
+ width: 32px;
938
+
939
+ }
940
+
941
+ .menu_thumb.corp img {
942
+
943
+ width: 64px;
944
+
945
+ }
946
+
947
+ .menu_thumb.cont img {
948
+
949
+ width: 100%;
950
+
951
+ }
952
+
953
+
954
+
955
+ /* name */
956
+
957
+
958
+
959
+ .menu_name {
960
+
961
+ padding-left: 20px;
962
+
963
+ }
964
+
965
+ .menu_name.corp {
966
+
967
+ padding-left: 0;
968
+
969
+ margin-bottom: 8px;
970
+
971
+ }
972
+
973
+
974
+
975
+ /* link */
976
+
977
+
978
+
979
+ .menu_link {
980
+
981
+ display: block;
982
+
983
+ position: absolute;
984
+
985
+ top: 0;
986
+
987
+ left: 0;
988
+
989
+ width: 100%;
990
+
991
+ height: 100%;
992
+
993
+ cursor: pointer;
994
+
995
+ color: #333333;
996
+
997
+ }
998
+
999
+ ```

1

コード修正

2019/12/03 05:30

投稿

lingwood
lingwood

スコア40

test CHANGED
File without changes
test CHANGED
@@ -236,4 +236,102 @@
236
236
 
237
237
 
238
238
 
239
+ どうか、本当によろしくお願いしますm( _ _ )m
240
+
241
+
242
+
243
+ ##追記
244
+
245
+
246
+
247
+ 今、以下のコードで改めてトライしてみたところ、メニューボタン開閉での背景固定・位置キープに近づいたのですが、
248
+
249
+ 今度はボタンのアニメーションが変になりました。
250
+
251
+
252
+
253
+ ご教授いただけませんでしょうか?
254
+
239
- よろしくお願いします!!
255
+ よろしくお願いします
256
+
257
+
258
+
259
+ ```JQuery
260
+
261
+ $(function(){
262
+
263
+ $('.menu__area').hide();
264
+
265
+
266
+
267
+ $('#gnavi_btn').on('click', function(){
268
+
269
+ $('#gnavi').addClass('active');
270
+
271
+ $('#gnavi_btn').addClass('btn_hide');
272
+
273
+ $('#gnavi_btn2').addClass('btn_show');
274
+
275
+ posi = $(window).scrollTop();
276
+
277
+ $('body').css({
278
+
279
+ position: 'fixed',
280
+
281
+ top: -1 * posi
282
+
283
+ });
284
+
285
+ $('html, body').prop({scrollTop: posi});
286
+
287
+ $('.menu__area,.closer').fadeToggle();
288
+
289
+ });
290
+
291
+
292
+
293
+ $('.gnavi_close').on('click', function(){
294
+
295
+ $('#gnavi').removeClass('active');
296
+
297
+ $('#gnavi_btn').removeClass('btn_hide');
298
+
299
+ $('#gnavi_btn2').removeClass('btn_show');
300
+
301
+ $('#gnavi_btn').addClass('btn_show');
302
+
303
+ $('#gnavi_btn2').addClass('btn_hide');
304
+
305
+ $('body').attr('style', '');
306
+
307
+ $('html, body').prop({scrollTop: posi});
308
+
309
+ $('.menu__area,.closer').fadeToggle();
310
+
311
+ });
312
+
313
+
314
+
315
+ $('#gnavi_btn2').on('click', function(){
316
+
317
+ $('#gnavi').removeClass('active');
318
+
319
+ $('#gnavi_btn').removeClass('btn_hide');
320
+
321
+ $('#gnavi_btn2').removeClass('btn_show');
322
+
323
+ $('#gnavi_btn').addClass('btn_show');
324
+
325
+ $('#gnavi_btn2').addClass('btn_hide');
326
+
327
+ $('body').attr('style', '');
328
+
329
+ $('html, body').prop({scrollTop: posi});
330
+
331
+ $('.menu__area,.closer').fadeToggle();
332
+
333
+ });
334
+
335
+ });
336
+
337
+ ```