質問編集履歴

9

コードの修正

2021/01/28 03:28

投稿

momoko_888
momoko_888

スコア2

test CHANGED
File without changes
test CHANGED
@@ -838,57 +838,15 @@
838
838
 
839
839
  }
840
840
 
841
- .nav .contentB ul li.current a, .nav .contentB ul li:hover a {
842
-
843
- background: #bf273d;
844
-
845
- border-radius: 5px;
846
-
847
- }
848
-
849
841
  .nav .contentB ul li.is-open a {
850
842
 
851
843
  position: relative;
852
844
 
853
845
  }
854
846
 
855
- .nav .contentB ul li.is-open a:after {
856
-
857
- content: "";
858
-
859
- display: block;
860
-
861
- width: 0;
862
-
863
- height: 0;
864
-
865
- border-style: solid;
866
-
867
- border-width: 0 5px 9px 5px;
868
-
869
- border-color: transparent transparent #ebe8e8 transparent;
870
-
871
- position: absolute;
872
-
873
- top: 100%;
874
-
875
- left: 50%;
876
-
877
- transform: translate(-50%, 0%);
878
-
879
- }
847
+ }
880
-
881
- }
848
+
882
-
883
- @media screen and (min-width: 1280px) {
849
+
884
-
885
- .nav .contentB ul li {
886
-
887
- font-size: 14px;
888
-
889
- }
890
-
891
- }
892
850
 
893
851
  ```
894
852
 

8

情報の追加

2021/01/28 03:28

投稿

momoko_888
momoko_888

スコア2

test CHANGED
File without changes
test CHANGED
@@ -442,4 +442,454 @@
442
442
 
443
443
  ```
444
444
 
445
+ ```css
446
+
447
+ .nav {
448
+
449
+ position: relative;
450
+
451
+ z-index: 2;
452
+
453
+ background: #FFF;
454
+
455
+ }
456
+
457
+ .nav .nav_menu_wrap {
458
+
459
+ position: relative;
460
+
461
+ }
462
+
463
+ .nav .Head_block {
464
+
465
+ background: #FFF;
466
+
467
+ }
468
+
469
+ .nav .Head_block h1 {
470
+
471
+ padding: 4% 6.25%;
472
+
473
+ font-size: 6.875vw;
474
+
475
+ font-weight: bold;
476
+
477
+ }
478
+
479
+ .nav .btns {
480
+
481
+ background: #333;
482
+
483
+ position: relative;
484
+
485
+ text-align: center;
486
+
487
+ }
488
+
489
+ .nav .btns .btnA {
490
+
491
+ display: inline-block;
492
+
493
+ width: 14%;
494
+
495
+ height: 100%;
496
+
497
+ padding: 4% 0;
498
+
499
+ position: absolute;
500
+
501
+ top: 0;
502
+
503
+ left: 0;
504
+
505
+ }
506
+
507
+ .nav .btns .btnA svg {
508
+
509
+ fill: #FFF;
510
+
511
+ }
512
+
513
+ .nav .btns .btnA.active {
514
+
515
+ background: #8b8b8b;
516
+
517
+ }
518
+
519
+ .nav .btns .btnB {
520
+
521
+ display: inline-block;
522
+
523
+ width: 100%;
524
+
525
+ height: 100%;
526
+
527
+ padding: 4% 0;
528
+
529
+ color: #FFF;
530
+
531
+ font-weight: bold;
532
+
533
+ }
534
+
535
+ .nav .btns.btn {
536
+
537
+ cursor: pointer;
538
+
539
+ }
540
+
541
+ .nav .contentA {
542
+
445
- cssものちほど追記します!
543
+ display: none;
544
+
545
+ background: #8b8b8b;
546
+
547
+ width: 100%;
548
+
549
+ padding: 6.25%;
550
+
551
+ box-sizing: border-box;
552
+
553
+ position: absolute;
554
+
555
+ }
556
+
557
+ .nav .contentA form {
558
+
559
+ background: #ebe8e8;
560
+
561
+ padding: 3% 5%;
562
+
563
+ border-radius: 10px;
564
+
565
+ position: relative;
566
+
567
+ }
568
+
569
+ .nav .contentA form .search {
570
+
571
+ position: absolute;
572
+
573
+ top: 50%;
574
+
575
+ right: 5%;
576
+
577
+ transform: translate(0%, -50%);
578
+
579
+ }
580
+
581
+ .nav .contentA form .search svg {
582
+
583
+ fill: #8b8b8b;
584
+
585
+ }
586
+
587
+ .nav .contentB {
588
+
589
+ display: none;
590
+
591
+ width: 100%;
592
+
593
+ position: absolute;
594
+
595
+ z-index: 1;
596
+
597
+ }
598
+
599
+ .nav .contentB li {
600
+
601
+ border-top: solid 1px #d8d8d8;
602
+
603
+ background: #333;
604
+
605
+ }
606
+
607
+ .nav .contentB li a {
608
+
609
+ display: inline-block;
610
+
611
+ color: #FFF;
612
+
613
+ font-weight: bold;
614
+
615
+ width: 100%;
616
+
617
+ padding: 3% 4%;
618
+
619
+ box-sizing: border-box;
620
+
621
+ position: relative;
622
+
623
+ }
624
+
625
+ .nav .contentB li a:after {
626
+
627
+ content: "";
628
+
629
+ display: block;
630
+
631
+ width: 0;
632
+
633
+ height: 0;
634
+
635
+ border-style: solid;
636
+
637
+ border-width: 5px 0 5px 9px;
638
+
639
+ border-color: transparent transparent transparent #FFF;
640
+
641
+ position: absolute;
642
+
643
+ right: 4%;
644
+
645
+ top: 50%;
646
+
647
+ transform: translate(0%, -50%);
648
+
649
+ }
650
+
651
+ .nav.is-show {
652
+
653
+ position: fixed;
654
+
655
+ top: 0;
656
+
657
+ left: 0;
658
+
659
+ z-index: 2;
660
+
661
+ width: 100%;
662
+
663
+ transition: .3s;
664
+
665
+ }
666
+
667
+ .nav.is-show:before, .nav.is-show:after {
668
+
669
+ content: none;
670
+
671
+ }
672
+
673
+
674
+
675
+ .ovarlay {
676
+
677
+ position: absolute;
678
+
679
+ top: 0;
680
+
681
+ left: 0;
682
+
683
+ width: 100%;
684
+
685
+ height: 100vh;
686
+
687
+ background: rgba(0, 0, 0, 0.5);
688
+
689
+ z-index: -1;
690
+
691
+ display: none;
692
+
693
+ }
694
+
695
+ .ovarlay.is-hide {
696
+
697
+ display: block;
698
+
699
+ }
700
+
701
+
702
+
703
+ .body-fixed .nav:before, .body-fixed .nav:after {
704
+
705
+ content: none;
706
+
707
+ }
708
+
709
+ .body-fixed .nav .contentB {
710
+
711
+ position: fixed;
712
+
713
+ top: 0;
714
+
715
+ width: 100%;
716
+
717
+ height: 100%;
718
+
719
+ overflow: scroll;
720
+
721
+ -webkit-overflow-scrolling: touch;
722
+
723
+ }
724
+
725
+ .body-fixed h1 {
726
+
727
+ display: none;
728
+
729
+ }
730
+
731
+
732
+
733
+ @media only screen and (max-width: 768px) {
734
+
735
+ .nav.is-show h1 {
736
+
737
+ display: none;
738
+
739
+ }
740
+
741
+ }
742
+
743
+ @media screen and (min-width: 768px) {
744
+
745
+ .nav .Head_block {
746
+
747
+ position: relative;
748
+
749
+ max-width: 1280px;
750
+
751
+ padding: 35px 10px;
752
+
753
+ margin: 0 auto;
754
+
755
+ box-sizing: border-box;
756
+
757
+ }
758
+
759
+ .nav .Head_block h1 {
760
+
761
+ padding: 0;
762
+
763
+ font-size: 22px;
764
+
765
+ line-height: 1.0;
766
+
767
+ }
768
+
769
+ .nav .btns {
770
+
771
+ display: none;
772
+
773
+ }
774
+
775
+ .nav .contentA {
776
+
777
+ display: block !important;
778
+
779
+ background: none;
780
+
781
+ padding: 0;
782
+
783
+ width: 22%;
784
+
785
+ max-width: 280px;
786
+
787
+ position: absolute;
788
+
789
+ top: 50%;
790
+
791
+ right: 10px;
792
+
793
+ transform: translate(0%, -50%);
794
+
795
+ }
796
+
797
+ .nav .contentB {
798
+
799
+ display: block !important;
800
+
801
+ position: relative;
802
+
803
+ background: #333;
804
+
805
+ }
806
+
807
+ .nav .contentB ul {
808
+
809
+ max-width: 1280px;
810
+
811
+ margin: 0 auto;
812
+
813
+ padding: 7px 10px;
814
+
815
+ }
816
+
817
+ .nav .contentB ul li {
818
+
819
+ border-top: none;
820
+
821
+ display: inline-block;
822
+
823
+ font-size: 1.09375vw;
824
+
825
+ }
826
+
827
+ .nav .contentB ul li a {
828
+
829
+ padding: 7px 10px;
830
+
831
+ transition: .3s;
832
+
833
+ }
834
+
835
+ .nav .contentB ul li a:after {
836
+
837
+ content: none;
838
+
839
+ }
840
+
841
+ .nav .contentB ul li.current a, .nav .contentB ul li:hover a {
842
+
843
+ background: #bf273d;
844
+
845
+ border-radius: 5px;
846
+
847
+ }
848
+
849
+ .nav .contentB ul li.is-open a {
850
+
851
+ position: relative;
852
+
853
+ }
854
+
855
+ .nav .contentB ul li.is-open a:after {
856
+
857
+ content: "";
858
+
859
+ display: block;
860
+
861
+ width: 0;
862
+
863
+ height: 0;
864
+
865
+ border-style: solid;
866
+
867
+ border-width: 0 5px 9px 5px;
868
+
869
+ border-color: transparent transparent #ebe8e8 transparent;
870
+
871
+ position: absolute;
872
+
873
+ top: 100%;
874
+
875
+ left: 50%;
876
+
877
+ transform: translate(-50%, 0%);
878
+
879
+ }
880
+
881
+ }
882
+
883
+ @media screen and (min-width: 1280px) {
884
+
885
+ .nav .contentB ul li {
886
+
887
+ font-size: 14px;
888
+
889
+ }
890
+
891
+ }
892
+
893
+ ```
894
+
895
+ どうぞよろしくお願いいたしますm(__)m

7

情報の追加

2021/01/28 03:27

投稿

momoko_888
momoko_888

スコア2

test CHANGED
File without changes
test CHANGED
@@ -147,3 +147,299 @@
147
147
 
148
148
 
149
149
  どうぞよろしくお願いいたします
150
+
151
+
152
+
153
+ ====
154
+
155
+ 追記です。
156
+
157
+ 現状のjsです。大体は実装できたようですが、細かいところがうまくいかず・・・
158
+
159
+
160
+
161
+ ```javascript
162
+
163
+ (function($) {
164
+
165
+
166
+
167
+ $(function(){
168
+
169
+ // ボタンのDOM要素を取得
170
+
171
+ var btn = document.getElementsByClassName('btn');
172
+
173
+ var contentsB = $('.contentB');
174
+
175
+ var contentA = $('.contentA');
176
+
177
+
178
+
179
+ // ボタンの個数分ループ
180
+
181
+ // 変数「i」に現在のループ回数が代入される
182
+
183
+ for (var i = btn.length - 1; i >= 0; i--) {
184
+
185
+ btnAction(btn[i],i);
186
+
187
+ }
188
+
189
+
190
+
191
+ function btnAction(btnDOM,btnId){
192
+
193
+
194
+
195
+ // 各ボタンをイベントリスナーに登録
196
+
197
+ btnDOM.addEventListener("click", function(){
198
+
199
+
200
+
201
+ this.classList.toggle('active');
202
+
203
+
204
+
205
+ // クリックされていないボタンにactiveがついていたら外す
206
+
207
+ for (var i = btn.length - 1; i >= 0; i--) {
208
+
209
+ if(btnId !== i){
210
+
211
+ if(btn[i].classList.contains('active')){
212
+
213
+ btn[i].classList.remove('active');
214
+
215
+ }
216
+
217
+ }
218
+
219
+ if($('.contentB').hasClass('active')){
220
+
221
+ contentsB.show();
222
+
223
+ $('.ovarlay').addClass('is-hide');
224
+
225
+ }else{
226
+
227
+ contentsB.hide();
228
+
229
+ }
230
+
231
+ if($('contentA').hasClass('active')){
232
+
233
+ contentA.show();
234
+
235
+ $('.ovarlay').addClass('is-hide');
236
+
237
+ }else{
238
+
239
+ contentA.hide();
240
+
241
+ }
242
+
243
+ }
244
+
245
+ })
246
+
247
+ }
248
+
249
+
250
+
251
+ $('.ovarlay').on('click', function() {
252
+
253
+ $('.btn').removeClass('active');
254
+
255
+ $('.ovarlay').removeClass('is-hide');
256
+
257
+ $('body').removeClass('body-fixed');
258
+
259
+
260
+
261
+ if($('.btnA').removeClass('active')){
262
+
263
+ contentsB.hide();
264
+
265
+ }
266
+
267
+ if($('.btnB').removeClass('active')){
268
+
269
+ contentA.hide();
270
+
271
+ }
272
+
273
+ });
274
+
275
+ });
276
+
277
+
278
+
279
+ $(function () {
280
+
281
+ var flag = false;
282
+
283
+ $('.btn , .ovarlay').on('click', function () {
284
+
285
+ if (flag == false) {
286
+
287
+ bodyFix(); // bodyを固定させる関数
288
+
289
+ // その他、ナビを開くときに起きるあれこれを記述
290
+
291
+ $('body').addClass('body-fixed');
292
+
293
+ flag = true;
294
+
295
+ }else if(flag == true && $('.btn').hasClass('active')){
296
+
297
+ $('body').addClass('body-fixed');
298
+
299
+ flag = true;
300
+
301
+ }else {
302
+
303
+ closeNavi();
304
+
305
+ $('body').removeClass('body-fixed');
306
+
307
+ flag = false;
308
+
309
+ }
310
+
311
+ });
312
+
313
+
314
+
315
+ });
316
+
317
+ //ナビを閉じるときの関数
318
+
319
+ function closeNavi() {
320
+
321
+ $('body').removeClass('body-fixed');
322
+
323
+ bodyFixReset(); // body固定を解除する関数
324
+
325
+ // その他、ナビを閉じるときに起きるあれこれを記述
326
+
327
+ }
328
+
329
+ //以下、bodyを固定する関数
330
+
331
+ var bodyElm = $('body');
332
+
333
+ var scrollPosi;
334
+
335
+
336
+
337
+ function bodyFix() {
338
+
339
+ scrollPosi = $(window).scrollTop();
340
+
341
+ bodyElm.css({
342
+
343
+ 'position': 'fixed',
344
+
345
+ 'width': '100%',
346
+
347
+ 'z-index': '1',
348
+
349
+ 'top': -scrollPosi
350
+
351
+ });
352
+
353
+ }
354
+
355
+ //以下、body固定を解除する関数
356
+
357
+ function bodyFixReset() {
358
+
359
+ bodyElm.css({
360
+
361
+ 'position': 'relative',
362
+
363
+ 'width': 'auto',
364
+
365
+ 'top': 'auto'
366
+
367
+ });
368
+
369
+ $('.ovarlay').removeClass('is-hide');
370
+
371
+ //scroll位置を調整
372
+
373
+ $('html, body').scrollTop(scrollPosi);
374
+
375
+ }
376
+
377
+
378
+
379
+ /*-------------- scrolldown --------------*/
380
+
381
+ $(function() {
382
+
383
+ var nav = $('#nav');
384
+
385
+ var navPos = nav.offset().top; // グローバルメニューの位置
386
+
387
+ var height = $('.Head_block').innerHeight();
388
+
389
+ // var childNav = $('.childNav');
390
+
391
+ var showClass = 'is-show';
392
+
393
+ var startPos = 0;
394
+
395
+ var winScrollTop = 0;
396
+
397
+
398
+
399
+ $(window).on('load scroll',function(){
400
+
401
+ winScrollTop = $(this).scrollTop();
402
+
403
+
404
+
405
+ if ( winScrollTop > navPos) {
406
+
407
+ nav.addClass(showClass);
408
+
409
+
410
+
411
+ } else {
412
+
413
+ nav.removeClass(showClass);
414
+
415
+ }
416
+
417
+ if($(this).scrollTop() < startPos ){
418
+
419
+ //上スクロール時の処理
420
+
421
+ nav.removeClass('is-down').css({transform: 'translateY(0)'});
422
+
423
+ }else if(nav.hasClass('is-show')){
424
+
425
+ //下スクロール時の処理
426
+
427
+ nav.css({transform: 'translateY('+ -height + 'px)'});
428
+
429
+ }
430
+
431
+ startPos = $(this).scrollTop();
432
+
433
+ });
434
+
435
+ });
436
+
437
+
438
+
439
+
440
+
441
+ })(jQuery);
442
+
443
+ ```
444
+
445
+ cssものちほど追記します!

6

コードの修正

2021/01/28 03:05

投稿

momoko_888
momoko_888

スコア2

test CHANGED
File without changes
test CHANGED
@@ -50,7 +50,7 @@
50
50
 
51
51
 
52
52
 
53
- <div id="nav" class="nav">
53
+ <div id="nav" class="nav">
54
54
 
55
55
 
56
56
 
@@ -60,13 +60,13 @@
60
60
 
61
61
  <div class="btns">
62
62
 
63
- <button class="btn">
63
+ <button class="btnA btn">
64
64
 
65
65
  ボタンA
66
66
 
67
67
  </button>
68
68
 
69
- <button class="btn">
69
+ <button class="btnB btn">
70
70
 
71
71
  ボタンB
72
72
 

5

コードの修正

2021/01/28 03:01

投稿

momoko_888
momoko_888

スコア2

test CHANGED
File without changes
test CHANGED
@@ -50,49 +50,69 @@
50
50
 
51
51
 
52
52
 
53
- <div id="nav" class="nav">
53
+ <div id="nav" class="nav">
54
54
 
55
+
55
56
 
57
+ <div class="Head_block">
56
58
 
57
- <div class="btns">
59
+ <h1>タイトル</h1>
58
60
 
59
- <button class="btn">
61
+ <div class="btns">
60
62
 
61
- ボタンA
63
+ <button class="btn">
62
64
 
63
- </button>
65
+ ボタンA
64
66
 
65
- <button class="btn">
67
+ </button>
66
68
 
67
- ボタンB
69
+ <button class="btn">
68
70
 
69
- </button>
71
+ ボタンB
70
72
 
71
- </div>
73
+ </button>
72
74
 
75
+ </div>
73
76
 
77
+
74
78
 
75
- <div class="menu_contents">
79
+ <div class="menu_wrap">
76
80
 
77
- <div class="menu">
81
+ <div class="contents contentA">
78
82
 
79
- ボタンAの内容
83
+ ボタンAの内容
80
84
 
81
- </div>
85
+ </div>
82
86
 
87
+ </div>
83
88
 
89
+ </div><!-- /.irHead_block -->
84
90
 
85
- <div class="menu">
91
+
86
92
 
87
- ボタンBの内容
93
+ <div class="menu_wrap">
88
94
 
89
- </div>
95
+ <nav id="contentB" class="contents contentB">
90
96
 
91
- </div>
97
+ <ul id="parentNav" class="parentNav">
92
98
 
93
-
99
+ <li>
94
100
 
101
+ リスト
102
+
103
+ </li>
104
+
105
+ </ul>
106
+
107
+ </nav>
108
+
109
+ </div>
110
+
111
+ <div class="ovarlay"></div>
112
+
113
+
114
+
95
- </div><!-- /.nav -->
115
+ </div><!-- /.nav -->
96
116
 
97
117
 
98
118
 

4

タイトルの修正

2021/01/28 02:56

投稿

momoko_888
momoko_888

スコア2

test CHANGED
@@ -1 +1 @@
1
- タブ+オーバーレイ+追従なスマホグローバルナビゲーションを作りたい
1
+ タブ+オーバーレイ+追従なスマホナビゲーションを作りたい
test CHANGED
File without changes

3

タイトルの修正

2021/01/27 13:23

投稿

momoko_888
momoko_888

スコア2

test CHANGED
@@ -1 +1 @@
1
- タブっぽいスマホグローバルナビゲーションを作りたい
1
+ タブ+オーバーレイ+追従なスマホグローバルナビゲーションを作りたい
test CHANGED
File without changes

2

誤字

2021/01/27 13:23

投稿

momoko_888
momoko_888

スコア2

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  ■仕様
12
12
 
13
- ・ボタンAをクリック(タップ)するとボタンAの内容が、ボタンBだとボタンBの内容がダルとともに現れる
13
+ ・ボタンAをクリック(タップ)するとボタンAの内容が、ボタンBだとボタンBの内容がバーレイとともに現れる
14
14
 
15
15
  ・オーバーレイをクリックすると非表示になる
16
16
 

1

誤字

2021/01/27 13:14

投稿

momoko_888
momoko_888

スコア2

test CHANGED
File without changes
test CHANGED
@@ -104,7 +104,7 @@
104
104
 
105
105
  ```
106
106
 
107
- ■いろいろかいつまんで実装としようとした際に参考にしたサイトサイト
107
+ ■いろいろかいつまんで実装としようとした際に参考にしたサイト達
108
108
 
109
109
  https://blog-and-destroy.com/7519
110
110