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

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

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

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

518閲覧

診断ツールを作りたい

komyusyougakuse

総合スコア6

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2018/05/18 07:40

診断ツールを作っているのですが作動しません。
間違っている部分を教えていただきたいです。

スタートを押しても表示が変わらない

<div> <script type="text/javascript"> // 診断開始関数 function Start(){ document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "block"; var divQues = document.getElementById("textQues"); divQues.textContent = "どうせ自分なんていい企業に就けないと思ってしまう"; var text = divQues.textContent; } // 診断内容メイン処理 function Sindan(no){ var divQues = document.getElementById("textQues"); var divAns = document.getElementById("textAns"); var Status = ManageStatus(); switch( Status ){ case 1: // どうせ自分なんていい企業に就けないと思ってしまう if(no == "Yes"){ divQues.textContent = "リクルートスーツでいる時身だしなみで注意される"; var text = divQues.textContent; divAns.textContent = ""; var text = divAns.textContent; }else if(no == "No"){ divQues.textContent = "同じ就職活動をしている異性に下心で近づいた経験がある"; var text = divQues.textContent; divAns.textContent = ""; var text = divAns.textContent; } break; ・ ・ ・ ・ ・ divQues.textContent = "診断が終わりました。"; var text = divQues.textContent; divAns.textContent = "70%"; var text = divAns.textContent; document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "none"; }else if(no == "No"){ divQues.textContent = "診断が終わりました。"; var text = divQues.textContent; divAns.textContent = "50%"; var text = divAns.textContent; document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "none"; } break; case 11: //同じ就職活動をしている異性に下心で近づいた経験がある if(no == "Yes"){ divQues.textContent = "診断が終わりました。"; var text = divQues.textContent; divAns.textContent = "50%"; var text = divAns.textContent; document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "none"; }else if(no == "No"){ divQues.textContent = "診断が終わりました。"; var text = divQues.textContent; divAns.textContent = "20%"; var text = divAns.textContent; document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "none"; } break; case 12: //リクルートスーツでいる時身だしなみで注意される if(no == "Yes"){ divQues.textContent = "診断が終わりました。"; var text = divQues.textContent; divAns.textContent = "70%"; var text = divAns.textContent; document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "none"; }else if(no == "No"){ divQues.textContent = "診断が終わりました。"; var text = divQues.textContent; divAns.textContent = "20%"; var text = divAns.textContent; document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "none"; } break; case 13: //履歴書の趣味・特技の欄にかけることが見つからない。 if(no == "Yes"){ divQues.textContent = "診断が終わりました。"; var text = divQues.textContent; divAns.textContent = "40%"; var text = divAns.textContent; document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "none"; }else if(no == "No"){ divQues.textContent = "診断が終わりました。"; var text = divQues.textContent; divAns.textContent = "20%"; var text = divAns.textContent; document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "none"; } break; case 14: //聞いてもいないのに就活の話をしてしまう癖がある if(no == "Yes"){ divQues.textContent = "診断が終わりました。"; var text = divQues.textContent; divAns.textContent = "120%"; var text = divAns.textContent; document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "none"; }else if(no == "No"){ divQues.textContent = "診断が終わりました。"; var text = divQues.textContent; divAns.textContent = "95%"; var text = divAns.textContent; document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "none"; } break; case 15: //行きたい企業の内定がすでに決まっている。 if(no == "Yes"){ divQues.textContent = "診断が終わりました。"; var text = divQues.textContent; divAns.textContent = "5%"; var text = divAns.textContent; document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "none"; }else if(no == "No"){ divQues.textContent = "診断が終わりました。"; var text = divQues.textContent; divAns.textContent = "0%"; var text = divAns.textContent; document.getElementById("start").style.display = "none"; document.getElementById("sindan").style.display = "none"; } break; default: break; } } // 診断ステータス取得関数 function ManageStatus(shori) { if(typeof ManageStatus.No === 'undefined'){ ManageStatus.No = 15; } if(shori == "clear"){ // 画面表示とステータスを全て初期値に戻す var divQues = document.getElementById("textQues"); var divAns = document.getElementById("textAns"); divQues.textContent = "診断を開始します。"; var text = divQues.textContent; divAns.textContent = ""; var text = divAns.textContent; ManageStatus.No = 15; document.getElementById("start").style.display = "block"; document.getElementById("sindan").style.display = "none"; } else { if (ManageStatus.No > 15){ // 必要以上に足すとオーバーフローする可能性がある為、何もしない } else { ManageStatus.No++; } } return ManageStatus.No; } </script> </div> <h4><div id="textQues">診断を開始します。</div></h4> <div id="start"> <input type=image onclick="Start();" src="https://programmer-navi.com/wp-content/uploads/2017/05/START.png" alt="START"/> </div> <div id="sindan" style="display:none;"> <input type=image onclick="Sindan('Yes');" src="https://programmer-navi.com/wp-content/uploads/2017/05/YES.png" alt="YES" />  <input type=image onclick="Sindan('No');" src="https://programmer-navi.com/wp-content/uploads/2017/05/NO.png" alt="No" /> </div> <div id="textAns"></div>

<a href="javascript:;" onclick="ManageStatus('clear')">⇒診断開始に戻る</a>

該当のソースコード

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

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

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

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

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

kei344

2018/05/18 07:47

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

2018/05/19 00:29

当方の環境で試したところ、スタートを押したら表示が変わったので、問題「スタートを押しても表示が変わらない」が再現しませんでした。環境の問題か、ここに書かれていないコードが原因かもしれません。質問者はご提示いただいているコード**だけ**で問題が再現しますか?
guest

回答1

0

こっちでは特にいじょーなかったので、そちらの環境でなにかエラーがでているということになりますねー
エラーを確認してください

投稿2019/03/16 00:23

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問