質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1190閲覧

ハンバーガーメニューの作り方がわかりません。

kmome

総合スコア13

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/01/19 14:43

ドットインストールの通りにハンバーガーメニューを作っていいるのですが、うまくいきません。
どうしてでしょうか。

html

1<body> 2 <div id="menu" > 3 <ul> 4 <li>menu</li> 5 <li>menu</li> 6 <li>menu</li> 7 <li>menu</li> 8</ul> 9 </div> 10 11 <div id="main"> 12 <i id="show" class="fa fa-bars"></i> 13 <h1>Hello</h1> 14 <p>Hello worldHello worldHello worldHello worldHello worldHello worldHello worldHello worldHello worldHello worldHello worldHello worldHello worldHello </p> 15 16 <script src="practicescript.js"></script> 17 </div> 18</body> 19</html>

css

1#menu{ 2 position:absolute; 3 top:0; 4 right:0; 5 color:#fff; 6 background:#4c81e9; 7 padding:8px; 8 box-sizing: border-box; 9 width:180px; 10 min-height: 100%; 11 z-index: -1; 12} 13 14#main{ 15 background-color: #eee; 16 position: absolute; 17 top:0; 18 left: 0; 19 color:#333; 20 box-sizing: border-box; 21 width: 100%; 22 height:100%; 23 transition:0.4s; 24 overflow: hidden; 25} 26 27#main .menu-open{ 28 left:-180px; 29} 30 31#show{ 32 float:right; 33 cursor: pointer; 34}

javascript

1var show=document.getElementById("show"); 2var main=document.getElementById("main"); 3 4show.addEventListener("click",function(){ 5 if(main.className==="menu-open"){main.className=""; 6 7 }else{ 8 main.className="menu-open"; 9 } 10});

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/01/19 15:12

どの様にうまくいかないのでしょうか?
kmome

2020/01/19 15:21

ブラウザ上で再度読み込みをして、showのidがついたアイコンをクリックしても、メニューが開きません
guest

回答2

0

ベストアンサー

完成版のコードを取得して自分のコードと比較してみます。

head部分がなく、Font Awesomeが読み込まれていなかったので、head部分を必要最低限の部分だけ追加しておきました。ここは、ご自身のコードで大丈夫なので気にしないでください。

動くサンプル
どの様な機能を実装したいのかは、分からないのですがアイコンをクリックしたらメニューが開く様にはしておきました。

##問題点
なぜ、メニューが押されていなかったか解説します。
提示してもらったjsのコードをみる限りハンバーガーアイコン、#show がついたものをクリックしたときに .menu-open を #main につけると記述されていますが、menu-openというclassがHTMLではありません。おそらくそれが原因でしょう。

JavaScript

1if(main.className==="menu-open")

HTML

1<body class="menu-open">

動くサンプルで、全文のコードを確認する事ができます。お確かめください。

投稿2020/01/20 11:25

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kmome

2020/01/21 11:18

ご丁寧にありがとうございます。大変助かりました!!!
退会済みユーザー

退会済みユーザー

2020/01/21 11:31

解決した様で何よりです。
guest

0

ドットインストール「JavaScriptでハンバーガーメニューを作ろう」の
「#09 ハンバーガーメニューを完成させよう」
からソースコード完成版を入手して実行したら、正しくハンバーガーメニューが動作しました。

「自分のコードと比較する」ボタンでソースコードの比較ができますから、
どこが違うかチェックしてみてください。

投稿2020/01/19 15:44

technocore

総合スコア7234

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/01/19 16:13

どうして、うまくいかないのか という質問の答えになっていない様ですが。
technocore

2020/01/19 22:40 編集

>ドットインストールの通り作っている 作っていません。 HTMLに<HEAD>部が無く、不完全です。 まずはコースの指示通りに学習しましょう。
退会済みユーザー

退会済みユーザー

2020/01/20 01:57

htmlの終了タグが下にある事から、該当部分だけを貼りつけているだけで、headはあるのでは? なければ、そこから
kmome

2020/01/20 10:50

仰る通りで、該当部分のみ張り付けております。 サイトから、完成版のコードを取得して自分のコードと比較してみます。 ありがとうございました。
退会済みユーザー

退会済みユーザー

2020/01/20 11:29 編集

>仰る通りで、該当部分のみ張り付けております。 了解です。 解決していない様なので、回答しておきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問