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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

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回答

1740閲覧

ハンバーガーメニューをうまく設置できなくて困っています。どこをどの様に修正すれば問題を解決できますか?

designer

総合スコア8

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

jQuery

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2018/06/28 08:29

編集2018/06/28 09:32

前提・実現したいこと

HTML,CSS,JavaScript,jQueryでハンバーガーメニューを作っているのですが、JavaScriptとjQueryの知識が全く無く、発生した問題の解決方法が分からなくて困っています。

サーバーにアップしてみました。
http://designer.hariko.com/

発生している問題・エラーメッセージ

①ハンバーガーのトリガーで開いたメニュー内のアンカーにオンマウスすると、一瞬、メニューのdivが消えてちらつきます。消えない様に、ちらつかない様にしたいです。 ②メニューを開いた後、X(バツ)をクリックして閉じようとするとページトップに戻ってしまいます。戻らない様にしたいです。 ③メニュー内アンカー(ペラサイト内のID指定)をクリックするとその場所に移動するのですが、メニューが開いたままです。アンカーをクリックしたらメニューは閉じる様にしたいです。

該当のソースコード

html

1<header> 2<a id="logo" href="/">LOGO</a> 3 4<a class="menu-trigger" href="#"> 5<span></span> 6<span></span> 7<span></span> 8</a> 9 10<nav class="gblnv_block"> 11<ul class="gblnv_list"> 12<li><a href="index.html">トップ</a></li> 13<li><a href="#news">最新情報</a></li> 14<li><a href="#product">プロダクト</a></li> 15<li><a href="#company">会社概要</a></li> 16<li><a href="#recruit">採用情報</a></li> 17</ul> 18</nav> 19</header>

css

1.gblnv_box{background-color: #444444; width: 100%; height: 124px; } 2.gblnv_box a {margin: 38px;} 3.gblnv_block { 4 z-index: 10; 5 display: none; 6 background-color: rgba(0,20,50,0.85); 7 width: 100%; 8 height: 100%; 9 padding: 10% 0px 0px 0px; 10 margin: 0px; 11 color: #ffffff; 12 } 13.gblnv_block a:hover { color: #729FBF; } 14.gblnv_block ul{padding: 10px;} 15.gblnv_block ul li{line-height: 180%;} 16.gblnv_block ul li a{color: #ffffff; font-size: 26px; line-height: 260%;} 17.onanimation {display: block;} 18 19.menu-trigger, 20.menu-trigger span {display: inline-block; transition: all .4s; box-sizing: border-box;} 21.menu-trigger { 22 z-index: 20; 23 position: absolute; top: 20px; right: 20px; 24 border: 0px solid #aaa; 25 width: 30px; height: 20px; 26 } 27.menu-trigger span { 28 position: absolute; 29 left: 0; 30 width: 100%; 31 height: 1px; 32 background-color: #fff; 33 border-radius: 4px; 34} 35.menu-trigger span:nth-of-type(1) { 36 top: 0; 37} 38.menu-trigger span:nth-of-type(2) { 39 top: 50%; 40} 41.menu-trigger span:nth-of-type(3) { 42 bottom: 0; 43} 44 45 46.menu-trigger.active span:nth-of-type(1) { 47 -webkit-transform: translateY(10px) rotate(-45deg); 48 transform: translateY(10px) rotate(-45deg); 49} 50.menu-trigger.active span:nth-of-type(2) { 51 left: 50%; 52 opacity: 0; 53 -webkit-animation: active-menu-bar02 .8s forwards; 54 animation: active-menu-bar02 .8s forwards; 55} 56@-webkit-keyframes active-menu-bar02 { 57 100% { 58 height: 0; 59 } 60} 61@keyframes active-menu-bar02 { 62 100% { 63 height: 0; 64 } 65} 66.menu-trigger.active span:nth-of-type(3) { 67 -webkit-transform: translateY(-10px) rotate(45deg); 68 transform: translateY(-10px) rotate(45deg); 69}

JavaScript

1$(function(){ 2 $('a[href^="#"]').click(function(){ 3 var speed = 500; 4 var href= $(this).attr("href"); 5 var target = $(href == "#" || href == "" ? 'html' : href); 6 var position = target.offset().top; 7 $("html, body").animate({scrollTop:position}, speed, "swing"); 8 return false; 9 }); 10}); 11 12/* MENU */ 13 14$(document).ready(function() { 15 $(".menu-trigger").click(function () { 16 $(this).toggleClass("active"); 17 $(this).next().toggleClass("onanimation"); 18 $('ul li').hide(); 19 $('ul li').each(function(i) { 20 $(this).delay(80 * i).fadeIn(500); 21 }); 22 }); 23});
HTML CSS JavaScript jQuery

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

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

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

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

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

kei344

2018/06/28 08:46

(質問文は編集できます)質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。
kei344

2018/06/28 09:08

https://jsfiddle.net/nsfocb9a/ ①②は提示されたコードでは再現しづらいです。他のCSSの影響があるはずなので、headerまわりのCSSも提示されてはいかがでしょうか。
designer

2018/06/28 09:30

ご回答ありがとうございます。サーバーにアップしてみました。http://designer.hariko.com/ ②はaのhrefを消してdivに変えてみました。
guest

回答1

0

ベストアンサー

jQueryのanimateメソッドにはcomplete関数を実行することが可能です。

lang=javascript

1$(function(){ 2 $('a[href^="#"]').click(function(){ 3 var speed = 500; 4 var href= $(this).attr("href"); 5 var target = $(href == "#" || href == "" ? 'html' : href); 6 var position = target.offset().top; 7 $("html, body").animate( 8 {scrollTop:position}, speed, "swing", 9 complete: function () { 10 // 実行したい処理 11 // ここにメニューを閉じる処理を記述する 12 } 13 ); 14 return false; 15 }); 16});

投稿2018/07/01 03:00

編集2018/07/01 03:05
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問