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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

ドロップダウンメニュー

GUIを操作するユーザーインターフェイスで、リストボックスに似ており、ユーザーがリストから値を選べるようにするものです。ドロップダウンのリストが非アクティブの場合は、単体の値を表示します。アクティブ化されると、ユーザーが選択可能な値のリスト一覧を表示(ドロップダウン)します。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Q&A

0回答

661閲覧

ドロップダウンメニューが開くようにしたい。

kazuki_tera

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

ドロップダウンメニュー

GUIを操作するユーザーインターフェイスで、リストボックスに似ており、ユーザーがリストから値を選べるようにするものです。ドロップダウンのリストが非アクティブの場合は、単体の値を表示します。アクティブ化されると、ユーザーが選択可能な値のリスト一覧を表示(ドロップダウン)します。

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

0グッド

0クリップ

投稿2020/12/07 07:59

編集2020/12/09 03:41

前提・実現したいこと

自作アプリケーションのナビバーにboostrapで作成したドロップダウンメニューが開かなくなるという問題が発生したため、解決のために皆様のお力をお借りできれば幸いです。

ナビバーのコード

<header> <nav class="navbar navbar-expand-sm navbar-dark bg-dark"> <a class="navbar-brand font-select" href="/">BR</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse justify-content-end" id="navbarSupportedContent"> <ul class="navbar-nav"> <% if logged_in? %> <li class="nav-item dropdown"> <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">書籍情報</a> <ul class="dropdown-menu" aria-labelledby="navbarSupportedContent"> <li class="dropdown-item"><%= link_to '所有済', own_books_path %></li> <li class="dropdown-divider"></li> <li class="dropdown-item"><%= link_to '未所持', notyet_books_path %></li> <li class="dropdown-divider"></li> <li class="dropdown-item"><%= link_to 'お気に入り', own_books_path %></li> <li class="dropdown-divider"></li> <li class="dropdown-item"><%= link_to '新規作成', new_book_path %></li> </ul> </li> <li class="nav-item dropdown"> <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><%= current_user.name %></a> <ul class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarSupportedContent"> <li class="dropdown-item"><%= link_to 'プロフィール', user_path(current_user) %></li> <li class="dropdown-divider"></li> <li class="dropdown-item"><%= link_to 'ログアウト', logout_path, method: :delete %></li> </ul> </li> <% else %> <li class="nav-item"><%= link_to "Signup", signup_path, class: "nav-link font-select" %></li> <li class="nav-item"><%= link_to 'Login', login_path, class: 'nav-link font-select' %></li> <% end %> </ul> </div> </nav> </header>

試したこと

ディベロッパーツールなどで挙動を確認しつつ、動かしてみたところ aria-expanded="false" が本来であればクリック時に aria-expanded="true" に変化していなければならいはずなのですが、 aria-expanded="false" のままであることは確認できました。
リロードを行うとメニューの開閉が出来るようになるのですが、なぜそのような挙動になるのか調べても原因を突き止めることができませんでした。

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

boostrapはCDNを使って読み込んでいます。

<!DOCTYPE html> <html lang="ja"> <head> <title>BookRecord</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <mata name="description" content="Book Recordはあなたがお持ちの書籍を管理するためのアプリケーションです"> <%= csrf_meta_tags %> <%= csp_meta_tag %> <link href="https://fonts.googleapis.com/css?family=Kaushan+Script" rel="stylesheet"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css"> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %> <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> <script defer src="https://use.fontawesome.com/releases/v5.7.2/js/all.js"></script> </head> <body> <!--<div class="container">--> <%= render 'layouts/flash_messages' %> <%= yield %> <!--</div>--> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"></script> </body> </html>

CDN用のコードは最初に<head>内に書き込んでいましたが、様々な記事で<body>内に書き込んでいる記事が多く見られたので現在は<body>内に記述しています。

誤りの部分等があれば、ご指摘いただけると幸いです。

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

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

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

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

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

cerfweb

2020/12/07 10:02

生成されたhtmlではなく、テンプレートを提示する場合は、テンプレート言語やフレームワーク名をタグに入れた方が回答がつきやすくなると思いますよ。
cerfweb

2020/12/08 15:48

「リロードを行うとメニューの開閉が出来るようになる」とありますが、どういう状態だと開閉ができないのでしょうか。状況が再現ができません。 やはり生成されたhtmlを掲載していただいた方が回答を得やすいかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問