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

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

ただいまの
回答率

90.61%

  • JavaScript

    15937questions

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

診断ツールを作りたい

受付中

回答 0

投稿

  • 評価
  • クリップ 1
  • VIEW 159

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

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

<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>

 該当のソースコード

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • kei344

    2018/05/18 16:47

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

    キャンセル

  • Lhankor_Mhy

    2018/05/19 09:29

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

    キャンセル

  • 退会済みユーザー

    2018/05/20 02:45

    複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

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

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

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • JavaScript

    15937questions

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