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

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

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

XHTMLは、eXtensible HyperText Markup Languageの略であり、SGMLベースであるHTMLとは違って、有効なXMLドキュメントにもなるHTMLアプリケーションです。XMLベースのツールを用いて生成されるHTMLページのためによく使われるマークアップ言語です。

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

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

Q&A

解決済

1回答

1768閲覧

ハンバーガーメニューについて

rinas

総合スコア5

XHTML

XHTMLは、eXtensible HyperText Markup Languageの略であり、SGMLベースであるHTMLとは違って、有効なXMLドキュメントにもなるHTMLアプリケーションです。XMLベースのツールを用いて生成されるHTMLページのためによく使われるマークアップ言語です。

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

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

0グッド

2クリップ

投稿2019/10/05 13:47

編集2019/10/05 22:05

前提・実現したいこと

ハンバーガーメニュー内のリンクをクリックとすると該当箇所まで移動はしますが、ハンバーガーメニューが閉じずに開いたままになってしまいます。

該当のソースコード

(html) <div><!-- class="header-nav" --> <nav class="navigation"> <ul class="nav-list l-horizon"> <li class="nav-item a"><a href="#rice" onclick='_scrollTo("#rice")'>メニュー1</a></li> <li class="nav-item a"><a href="#line-up" onclick='_scrollTo("#line-up")'> メニュー2</a></li> <li class="nav-item a"><a href="#customer" onclick='_scrollTo("#customer")'>メニュー3</a></li> <li class="nav-item a"><a href="#contact" onclick='_scrollTo("#contact")'>Contact</a></li> <li class="nav-item a"><a href="https://www.instagram.com/">Instagram</a></li> </nav> </div> <button class="btn-trigger"> <svg viewBox="0 0 44 44" xmlns:xlink="http://www.w3.org/1999/xlink" role="img" aria-labelledby="menuButtonTitle"> <title id="menuButtonTitle">Menu</title> <symbol id="bar"> <rect width="28" height="1" fill="#a0a0a0"></rect> </symbol> <use xlink:href="#bar" x="8" y="14"></use> <use xlink:href="#bar" x="8" y="24"></use> <use xlink:href="#bar" x="8" y="34"></use> </svg> toggle menu </button>
(css) .btn-trigger{ display: none; } .navigation{ background: none; position: absolute; top: 890px; display: flex; width: 100%; height: 10px; padding: 10px 0 10px; } .nav-list{ display: flex; margin: 0 auto; } .nav-item{ margin-left: 20px; } .nav-item>a{ color: #2D2C2C; font-family: 'Yu Gothic',sans-serif; font-size: 18px; text-transform: none; } .a { position: relative; display: inline-block; text-decoration: none; } .a::after { position: absolute; bottom: -25px; left: 0px; content: ''; width: 100%; height: 1px; background: #ef3f98; transform: scale(0, 1); transform-origin: center top; transition: transform .3s; } .a:hover::after { transform: scale(1, 1); }
(js) $(".btn-trigger").on("touchstart",function(){ $(this).toggleClass("ac"); if ($(".navigation").hasClass("")){ $(".navigation").removeClass("open").fadeOut(500); } else { $(".navigation").addClass("open").fadeToggle(500); } }); });

試したこと

removeClassを付け足しましたが、メニューが消えません。

補足情報(FW/ツールのバージョンなど)

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

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

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

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

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

kyoya0819

2019/10/05 16:57

タグがいろいろ不足しています。 HTML,XHTML,CSS,jQuery
rinas

2019/10/05 22:07

ご指摘いただき、ありがとうございます。 修正させていただきました。
guest

回答1

0

ベストアンサー

jQuery

1$('.navigation a').on('pointerdown', function(event) { 2 $('.btn-trigger').trigger('touchstart'); 3 return true; 4});

https://api.jquery.com/trigger/

投稿2019/10/08 06:36

x_x

総合スコア13749

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

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

rinas

2019/10/08 11:00

解決することができました! ずっとわからず悩んでいたので助かりました! 本当にありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問