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

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

新規登録して質問してみよう
ただいま回答率
85.46%
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回答

783閲覧

ハンバーガーメニューのボタンをクリックしたら×にしたい。

guchinooo

総合スコア4

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クリップ

投稿2021/11/17 01:36

編集2021/11/17 02:26

ネットで調べ、見よう見まねで以下の通り作成してみたのですが、
.openbtnにactiveクラスの付与がうまくいかず、×になりません。

どのように訂正すれば動きますでしょうか・・・?

jquery

1$('.openbtn').on('click',function(){ 2 $('.openbtn').toggleClass('active'); 3 $('.sp_nav').toggleClass('active'); 4 $('.sp_nav.active').fadeToggle(500); 5 });

HTML

1 <!--ハンバーガーメニュー--> 2 <div class="openbtn"> 3 <span></span> 4 <span></span> 5 <span></span> 6 </div>

CSS

1/*-----ボタン内側デザイン-----*/ 2.openbtn span { 3 display: inline-block; 4 transition: all .4s; 5 position: absolute; 6 left: 12px; 7 height: 3px; 8 border-radius: 2px; 9 background: rgb(109, 76, 76); 10 width: 50%; 11} 12.openbtn span:nth-of-type(1) { 13 top: 14px; 14} 15.openbtn span:nth-of-type(2) { 16 top: 22px; 17 height: 2px; 18} 19.openbtn span:nth-of-type(3) { 20 top:30px; 21} 22 23@media screen and (max-width: 711px) { 24.openbtn { 25 display: block; 26 width: 20%; 27} 28.sp_nav { 29 position: fixed; 30} 31} 32/* activeクラス付与で線が回転して×になる【!ここがうまく反応しません】*/ 33.openbtn.active span:nth-of-type(1) { 34 top: 16px; 35 left: 16px; 36 transform: translateY(6px) 37 rotate(-45deg); 38 width: 30%; 39} 40.openbtn.active span:nth-of-type(2) { 41 opacity: 0;/*真ん中の線を透過*/ 42} 43.openbtn.active span:nth-of-type(3) { 44 top: 28px; 45 left: 16px; 46 transform: translateY(-6px) 47 rotate(45deg); 48 width: 30%; 49} 50 51 52/*-----ハンバーガーボタン外側デザイン-----*/ 53.openbtn { 54 position: relative; 55 cursor: pointer; 56 width: 45px; 57 height: 45px; 58 display: none; 59 width: 15%; 60 padding: 20px 5px; 61} 62.sp_nav { 63 display: none; 64 margin-top: 80px; 65 z-index: 10; 66 width: 100%; 67 height: 100vh; 68 margin-left: auto; 69 color: #efefef; 70 background-color: rgba(225, 244, 247, 0.7); 71} 72.sp_nav ul { 73 width: 100%; 74 height: 100%; 75 padding: calc(((100vh - 75%) - 80px) / 2) 0; 76} 77.sp_list { 78 width: 100%; 79 height: 15%; 80 display: flex; 81 justify-content: center; 82 align-items: center; 83} 84

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

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

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

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

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

Lhankor_Mhy

2021/11/17 02:05

ご提示のコードを試してみましたが、Xになりました。 つまり、問題が再現しませんでした。 ご提示いただいていない部分に原因があると思われます。 (たとえば jQuery を読み込んでいないとか)
guchinooo

2021/11/17 02:30

ご回答ありがとうございます。 メディアクエリの記載が漏れていたので追記しましたが・・・あまり関係ないですよね。。 fadeToggle(500)の部分は反応していたのでjQueryを読み込んでいないことはないはずですし、従って.sp_navにactiveクラスの付与はできているはずなのですが・・・( ;∀;) もう少しくまなく探してみます・・・。
Lhankor_Mhy

2021/11/17 03:11

とりあえず、クラスの変更で失敗しているのか、クラスの変更はできているがCSSで失敗しているのか、DevTools で原因を特定した方がいいと思います。
guest

回答1

0

提示のCSSだと、.openbtndisplay: none;が設定されていますので、ボタン自体が表示されていませんので何もおきませんが、display: none;を削除すれば、クリックすると×になります。

質問のCSS修正をみて追記

CSSは後に記述したほうが優先されますので、現状だと、メディアクエリより後にある.openbtndisplay: none;が効いています。
メディアクエリを.openbtnより後ろに移動してください。(一番最後に記述するのが確実です。)

CodePenサンプル

投稿2021/11/17 02:09

編集2021/11/17 03:02
hatena19

総合スコア33795

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

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

guchinooo

2021/11/17 02:32

ご回答ありがとうございます。 メディアクエリの記載が漏れてましたので追記しました。 display: none;を消せばできるということはやはり、載せたデータ自体は大方問題ないようですね・・・うーん・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問