bootstrapを用いてハンバーガーメニューを実装したのですが一回クリックすると普通にメニューが表示され、正常に作動するのですが、再びクリックしてもメニューがしまわれずに何も変わらないままです。どうしたら良いのでしょうか。scriptを追加して見たりしたのですが、解決できませんでした。
完璧に作動するコードをコピペして挙動を確認したところ、やはりメニューが閉じないのでコード以外の部分で問題があるのではないかなと思っています。インストールしたgemが関係するのか調べましたがよくわからなかったです。
scriptはこんな感じで書きました。そして<body>の最終行に加えました。
<script> $('.navbar-toggler').on('click', function(){ $('#navbarMenu').collapse('hide'); }); </script>
_header.html.erb
<nav class="navbar fixed-top navbar-expand-xl top-navbar navbar-light bg-light"> <div class="backbtn"> <%= link_to 'javascript:history.back()', id: "logo" do %> <i class="fas fa-arrow-left"></i> <% end %> </div> <button class="navbar-toggler" data-toggle="collapse" data-target="#navbarMenu"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarMenu"> <ul class="navbar-nav"> <li class="nav-item"><%=link_to '使い方', '/howto', :style=>"color:black;",class:"nav-link" %></li> <li class="nav-item"><%=link_to '全てのアカウント', '/accounts/index', :style=>"color:black;",class:"nav-link" %></li> <li class="nav-item"><%=link_to 'ID検索', search_accounts_path, :style=>"color:black;",class:"nav-link" %></li> <li class="nav-item"><%=link_to '設定', edit_account_registration_path, :style=>"color:black;",class:"nav-link" %></li> <li class="nav-item"><%=link_to 'ログアウト', destroy_account_session_path, method: :delete, :style=>"color:black;",class:"nav-link" %></li> </ul> </div> </nav>
gemfile
source 'https://rubygems.org' gem 'rails', '5.1.6' gem 'devise' gem 'whenever', require: false gem 'font-awesome-sass' gem 'faker', '1.7.3' gem 'bootstrap' gem 'puma', '3.9.1' gem 'sass-rails', '5.0.6' gem 'uglifier', '3.2.0' gem 'coffee-rails', '4.2.2' gem 'jquery-rails' gem 'turbolinks', '5.0.1' gem 'jbuilder', '2.6.4' group :development, :test do gem 'sqlite3', '1.3.13' gem 'byebug', '9.0.6', platform: :mri end group :development do gem 'web-console', '3.5.1' gem 'listen', '3.1.5' gem 'spring', '2.0.2' gem 'spring-watcher-listen', '2.0.1' end # Windows環境ではtzinfo-dataというgemを含める必要があります gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
application.css.scss
/* * This is a manifest file that'll be compiled into application.css, which will include all the files * listed below. * * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's * vendor/assets/stylesheets directory can be referenced here using a relative path. * * You're free to add application-wide styles to this file and they'll appear at the bottom of the * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS * files in this directory. Styles in this file should be added after the last require_* statement. * It is generally better to create a new file per style scope. * *= require_tree . *= require_self */ @import "bootstrap"; @import "font-awesome-sprockets"; @import "font-awesome";
application.js
// This is a manifest file that'll be compiled into application.js, which will include all the files // listed below. // // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, or any plugin's // vendor/assets/javascripts directory can be referenced here using a relative path. // // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the // compiled file. JavaScript code in this file should be added after the last require_* statement. // // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details // about supported directives. // //= require rails-ujs //= require jquery3 //= require popper //= require bootstrap //= require turbolinks //= require_tree .
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。