###前提・実現したいこと
railsを使用して、あるWebサービスを作っていて、webページのログイン画面で、jQueryを使ってタブの切り替え機能を作リました。しかし、いざ実行をしてみると、ページに移動し、タブをクリックしても反応をせず、一度サイトのリロードをすると、タブが切り替わる、というような状況です。なぜ一度リロードしなければ、タブが正常に動作をしないのかがわからず、質問させていただいております。
###発生している問題・エラーメッセージ
エラーメッセージ
Chrome上でインスペクトした時に出てきました。 highstock.js?body=1:9 Uncaught Error: Highcharts error #16: www.highcharts.com/errors/16
###application.js
javascript
1 2// This is a manifest file that'll be compiled into application.js, which will include all the files 3// listed below. 4// 5// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, 6// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. 7// 8// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the 9// compiled file. 10// 11// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details 12// about supported directives. 13// 14//= require jquery 15//= require jquery_ujs 16//= require turbolinks 17//= require_tree . 18//= require highcharts/highcharts 19//= require highcharts/highcharts-more 20//= require highcharts/highstock 21 22 23$(function(){ 24 $('#tab-menu li').on('click', function(){ 25 if($(this).not('selected')){ 26 // タブメニュー 27 $(this).addClass('selected').siblings('li').removeClass('selected'); 28 // タブの中身 29 var index = $('#tab-menu li').index(this); 30 $('#tab-box div').eq(index).addClass('selected').siblings('div').removeClass('selected'); 31 } 32 }); 33}); 34
###new.html.erb
ruby
1 2... 3 <div id="tab-menu" class="tab-menu label"> 4 <ul> 5 <li class="selected"><p>大学生</p></li> 6 <li><p>社会人</p></li> 7 <li><p>その他</p></li> 8 </ul> 9 10 <div id ="tab-box" class="label"> 11 <div class="selected"> 12 <%= f.label :文理選択 %><br /> 13 <%= f.select :culture_or_science, ['文系', '理系'] %> 14 15 <br /><%= f.label :大学%> 16 <%= f.text_field :university, :placeholder =>'大学名を入力してください'%> 17 18 <%= f.label :学部%><br /> 19 <%= f.text_field :department, :placeholder => '学部の種類を選択してください'%> 20 21 <%= f.label :卒業年%><br /> 22 <%= f.text_field :graduation_year, :placeholder => '卒業される年度を記入してください'%> 23 </div> 24 25 26 <div> 27 <%= f.label :会社名 %><br /> 28 <%= f.text_field :company, :placeholder => '会社名を記入してください'%> 29 </div> 30 31 32 <div> 33 <%= f.label :その他の所属 %><br /> 34 <%= f.text_field :other, :placeholder => '所属名を記入してください'%> 35 </div> 36 </div>
###application.css
css
1 2 3.tab-menu ul { 4 width:100%; 5 margin: 0; 6 padding: 0; 7} 8 9.tab-menu li { 10 display: inline-block; 11 width: 32%; 12 height: 22px; 13 cursor: pointer; 14 background-color: #81D0FE; 15 font-size: 14px; 16 color: #fff; 17 border-top-right-radius:5px; 18 border-top-left-radius:5px; 19 text-align: center; 20} 21 22.tab-menu li.selected { 23 background-color: #fff; 24 color: #81D0FE; 25} 26 27.contents { 28 height: 360px; 29 padding: 20px; 30} 31 32#tab-box div{ 33 display: none; 34} 35#tab-box div.selected { 36 display: block; 37 -webkit-animation: anime1 2s ease; 38}
###試したこと
(javascriptはほぼ初めて触るので)Highcharts error #16: というエラーが意味することをあまり理解することができませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
-railsの"devise"gemを使用してログイン画面を作っております。
-application.js上に"//= require highcharts/highcharts
//= require highcharts/highcharts-more
//= require highcharts/highstock
"記述しています。
足りない情報がございましたら、追記いたします。ご回答心よりお待ちしております。
by駆け出しのrubyプログラマー
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/03 02:05