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

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

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

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

Q&A

解決済

1回答

2411閲覧

開閉式のグローバルメニュー(jQuery使用)について

har

総合スコア7

jQuery

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

0グッド

0クリップ

投稿2017/05/12 04:15

初めは[menu]の文字のみ表示で
クリックすると中身が表示されるグローバルメニューのwebサイト(pc)を作成しています。
クリックアクションで矢印の向きが変わると同時にスライドダウンで
グローバルメニューが表示されるという仕組みにしたいです。
また、[menu]部分を再クリックで閉じると同時に矢印の向きも元に戻したいです。

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

矢印の向きには成功したのですが、 メニューが開くとともにすぐになくなってしまいます。 矢印の実装をする前まではクリック後に表示がキープされていたのですが 現在はキープされない状況になってしまいました。

###該当のソースコード

header記載部分

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script> $(function(){ $(".menu-toggle").on("click", function() { $(this).next().slideToggle(); }); }); $(window).resize(function(){ var win = $(window).width(); var p = 2000; if(win > p){ $("#menu").show(); } else { $("#menu").hide(); } }); </script>

###矢印のCSS(こちらは成功しています)

.menu-toggle::after {
border-bottom: 3px solid #fff;
border-right: 3px solid #fff;
content: "";
display: block;
height: 11px;
left: 38px;
position: absolute;
top: 28px;
transform: rotate(45deg);
width: 11px;
}

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

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

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

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

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

kei344

2017/05/12 05:47

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

2017/05/12 05:59

ご不便をおかけし申し訳ありませんでした。教えていただきありがとうございます!
kei344

2017/05/12 06:03

ここは「質問への追記・修正、ベストアンサー選択の依頼」です。解決済にしても本文を編集することが出来ますので、よろしくお願いします。
guest

回答1

0

ベストアンサー

>>メニューが開くとともにすぐになくなってしまいます。

という部分がなぜなのかわかりませんでしたが、動作としては下記コードを実行した時のような感じでいかがでしょうか。 よろしければご確認いただければとおもいます。

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name=”viewport” content=”width=device-width, initial-scale=1.0″> </head> <body> <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script> $(function () { $(".menu-toggle").on("click", function () { $(this).next().slideToggle(); if ($(this).hasClass("active")) { $(this).removeClass("active"); } else { $(this).addClass("active"); } }); }); $(window).resize(function () { var win = $(window).width(); var p = 2000; if (win > p) { $("#menu").show(); } else { $("#menu").hide(); } }); </script> <style> .frame { width: 1000px; margin: 0 auto; } .toggleContents { display: none; background: red; padding: 10px; } .toggleContents:last-child { background: green; } .menu-toggle { background: black; padding: 10px; position: relative; color: white; } .menu-toggle:after { border-bottom: 3px solid #fff; border-right: 3px solid #fff; content: ""; display: block; height: 11px; right: 38px; position: absolute; top: 10px; transform: rotate(45deg); width: 11px; transition: 0.6s; } .menu-toggle.active:after { transform: rotate(225deg); top: 18px; } </style> <nav> <div class="frame"> <p class="menu-toggle">とぐるぼたん</p> <div class="toggleContents"> <ul> <li>マリオさああああああああああああああああん</li> <li>マリオさああああああああああああああああん</li> <li>マリオさああああああああああああああああん</li> <li>マリオさああああああああああああああああん</li> <li>マリオさああああああああああああああああん</li> </ul> </div> <p class="menu-toggle">とぐるぼたん</p> <div class="toggleContents"> <ul> <li>ルイージさああああああああああああああああん</li> <li>ルイージさああああああああああああああああん</li> <li>ルイージさああああああああああああああああん</li> <li>ルイージさああああああああああああああああん</li> <li>ルイージさああああああああああああああああん</li> </ul> </div> </div> </nav> </body> </html>

投稿2017/05/12 05:49

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問