質問編集履歴

2

追記

2018/04/11 15:36

投稿

panda
panda

スコア20

test CHANGED
File without changes
test CHANGED
@@ -392,10 +392,90 @@
392
392
 
393
393
 
394
394
 
395
- ハンバーグの中身に格納するのがうまくできません。
395
+ ハンバーグの中身に格納するとこまではいけたです
396
+
396
-
397
+ クリックすると開くのができません。
398
+
399
+
400
+
397
-
401
+ ```js
398
-
402
+
399
- ### 補足情報
403
+ // ハンバーガー
404
+
400
-
405
+ $(function () {
406
+
407
+ var $nav = $('.navDrawr');
408
+
409
+ var $navBtn = $('.navDrawrBtn');
410
+
411
+ var $speed = 300;
412
+
413
+ var $navW = 270;
414
+
415
+
416
+
417
+ //サブメニューを非表示に
418
+
401
- HTMLはなるべく編集せずにcssとjsでできるようにしたいです。
419
+ $nav.find('.sub').hide();
420
+
421
+
422
+
423
+ //ドロワーに関連した記述(PCでもドロワーが動作するようにtouchend→clickに変更)
424
+
425
+ $('body').on('click','.navDrawrBtn span',function(){
426
+
427
+ drawerFunc();
428
+
429
+ });
430
+
431
+
432
+
433
+ $('body').on('click','.overlay',function(){
434
+
435
+ drawerFunc();
436
+
437
+ });
438
+
439
+
440
+
441
+
442
+
443
+ function drawerFunc(){
444
+
445
+ if( $('body').hasClass('menuOpen') ){
446
+
447
+ $('body').removeClass('menuOpen');
448
+
449
+ $nav.animate({right:-1*$navW},$speed,'swing');
450
+
451
+ $('.overlay').fadeOut($speed);
452
+
453
+ }else{
454
+
455
+ $('body').addClass('menuOpen');
456
+
457
+ if(!$('.overlay').length){
458
+
459
+ $('#wrapper').prepend('<div class="overlay"></div>');
460
+
461
+ }
462
+
463
+ $nav.animate({right:0},$speed,'swing');
464
+
465
+ $('.overlay').fadeIn($speed);
466
+
467
+ }
468
+
469
+ }
470
+
471
+ });
472
+
473
+
474
+
475
+ ```
476
+
477
+ ```css
478
+
479
+ <nav id="global-nav" class="navDrawr"></nav>
480
+
481
+ ```

1

コード追記

2018/04/11 15:36

投稿

panda
panda

スコア20

test CHANGED
@@ -1 +1 @@
1
- 2カラムの右側にあるナビをスマホ時にハンバーガーにしたい
1
+ js初心者です。2カラムの右側にあるナビをスマホ時にハンバーガーにしたい
test CHANGED
@@ -28,11 +28,11 @@
28
28
 
29
29
    <a class="navbar-brand" href="#">タイトル</a>
30
30
 
31
-   <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
31
+   <div id="nav-toggle">
32
-
32
+
33
-    <span class="navbar-toggler-icon"></span>
33
+    <div class="navDrawrBtn2"><span></span></div>
34
-
34
+
35
-   </button>
35
+   </div>
36
36
 
37
37
   </div>
38
38
 
@@ -100,12 +100,10 @@
100
100
 
101
101
  ```
102
102
 
103
+
104
+
103
105
  ```js
104
106
 
105
-
106
-
107
-
108
-
109
107
  // DOMを全て読み込んでから処理する
110
108
 
111
109
  $(function()
@@ -148,6 +146,8 @@
148
146
 
149
147
  ```
150
148
 
149
+
150
+
151
151
  ```css
152
152
 
153
153
  /* 全体(共通) */
@@ -334,6 +334,56 @@
334
334
 
335
335
  }
336
336
 
337
+ /* 追加 */
338
+
339
+ @media(max-width:991px) {
340
+
341
+ .navDrawrBtn2 span {
342
+
343
+ position: absolute;
344
+
345
+ top: 0;
346
+
347
+ bottom: 0;
348
+
349
+ right: 0;
350
+
351
+ margin: auto;
352
+
353
+ display: block;
354
+
355
+ width: 60px;
356
+
357
+ height: 60px;
358
+
359
+ cursor: pointer;
360
+
361
+ }
362
+
363
+ .navDrawrBtn2 span::before {
364
+
365
+ font-family: FontAwesome;
366
+
367
+ content: "\f0c9";
368
+
369
+ font-size: 24px;
370
+
371
+ color: #312114;
372
+
373
+ position: absolute;
374
+
375
+ left: 0;
376
+
377
+ width: 100%;
378
+
379
+ text-align: center;
380
+
381
+ line-height: 60px;
382
+
383
+ }
384
+
385
+ }
386
+
337
387
 
338
388
 
339
389
  ```
@@ -342,9 +392,7 @@
342
392
 
343
393
 
344
394
 
345
- positionを使ったりして調整してみたのですが、
346
-
347
- うまくできませんでした
395
+ ハンバーグの中身に格納するのがうまくできません。
348
396
 
349
397
 
350
398