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

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

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

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

Q&A

2回答

5165閲覧

javascriptを使ったクイズで,不正解の時に正しい答えをフィードバックしたいです。

oshibuchiryo5

総合スコア11

JavaScript

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

0グッド

0クリップ

投稿2016/08/01 22:56

編集2022/01/12 10:55

javascriptを使ったクイズを作りたいのですが,不正解の時に正しい答えをフィードバックしたいです。どのようにしたら良いか,ご教授いただけないでしょうか。

javascript

1/*------------------------------------------------------------------------ 2 * Quiz Generator Script Ranking+ 設定ファイル 3 * Copyright 2012 Sawa's Factory 4 * http://sawa-s.com/quiz-generator-ranking.html 5------------------------------------------------------------------------*/ 6 7/*---------- オープニング&クイズ設定 ----------*/ 8/* クイズボックスの横幅 縦幅*/ 9var q_w=450; //横幅 px min=400 10var q_h=380; //縦幅 px 選択数の増減によって調整してください。3択:330 4択:380 5択:430 11/* タイトル */ 12var q_title="4択クイズ"; 13/* オープニングメッセージ ボタン */ 14var opening_msg=[ 15 "このクイズは4択形式のクイズです。", 16 "全部で10問あり、満点は100点です。", 17 "あなたは何点取れるでしょうか?", 18 "", 19 "お名前(ハンドルネーム可)を入力してください。", 20 "ランクインするとランキングに登録する事ができます。" 21]; 22var opening_start_button="START"; 23/* 出題数 */ 24var q_no=2; 25/* 出題順 0-昇順 1-ランダム */ 26var q_rnd=0; 27/* 正解・不正解の表示 0-しない 1-する */ 28var q_dsp=1; 29/* 正解・不正解を表示する場合、表示する秒数 */ 30var q_dtime=2; 31/* 正解・不正解を表示する場合、サウンドを使用 0-しない 1-する */ 32var q_sound=0; 33/* 制限時間(秒) 0-設定なし */ 34var q_timer=0; 35/* 選択岐をシャッフル 0-しない 1-する */ 36var q_sfl=1; 37/* 正解・不正解を表示する 画像ファイル(入れ替える場合のみ) 不正解画像,正解画像の順 */ 38var img_file=["image/0a.png","image/1a.png"]; 39/* サウンドを鳴らす場合のサウンドファイル (入れ替える場合のみ) 不正解サウンド,正解サウンドの順 */ 40var sound_file=["sound/0.wav","sound/1.wav"]; 41 42/*---------- 問 題 ----------*/ 43var questions = [ 44 ["問題1", ["選択1-1", "選択1-2", "選択1-3", "選択1-4"], 1, 5] 45,["問題2", ["選択2-1", "選択2-2", "選択2-3", "選択2-4"], 1, 6] 46,["問題3", ["選択3-1", "選択3-2", "選択3-3", "選択3-4"], 1, 7] 47,["問題4", ["選択4-1", "選択4-2", "選択4-3", "選択4-4"], 1, 8] 48,["問題5", ["選択5-1", "選択5-2", "選択5-3", "選択5-4"], 1, 9] 49,["問題6", ["選択6-1", "選択6-2", "選択6-3", "選択6-4"], 1, 10] 50,["問題7", ["選択7-1", "選択7-2", "選択7-3", "選択7-4"], 1, 11] 51,["問題8", ["選択8-1", "選択8-2", "選択8-3", "選択8-4"], 1, 12] 52,["問題9", ["選択9-1", "選択9-2", "選択9-3", "選択9-4"], 1, 15] 53,["問題10", ["選択10-1", "選択10-2", "選択10-3", "選択10-4"], 1, 20] 54]; 55 56/*---------- エンディング設定 ----------*/ 57/* 一覧に登録する点数 これを0にするとクイズ参加者全員の得点を登録する。 */ 58var quiz_clear = 80; 59/* 得点振り分けメッセージ*/ 60var endings = [ 61 [100, [ 62 "<span class='msg_tokuten'> う~ん、お見事!!</span>" 63 ,"<span class='msg_tokuten'> !name!!name_keishou! の得点は <strong>満点</strong>でした。</span>" 64 ,"", 65 ,"正解数は!seikai_num!問、正解率は!percent!%です。" 66 ]] 67 ,[80, [ 68 "<span class='msg_tokuten'>う~ん。さすがですね。</span>" 69 ,"<span class='msg_tokuten'>!name!!name_keishou!の得点は <strong>!tokuten!点</strong> でした。</span>" 70 ,"" 71 ,"正解数は!seikai_num!問、正解率は!percent!%です。" 72 ,"再挑戦をお待ちしています。" 73 ]] 74 ,[50, [ 75 "<span class='msg_tokuten'>なかなかやりますね。</span>" 76 ,"<span class='msg_tokuten'>!name!!name_keishou!の得点は <strong>!tokuten!点</strong> でした。</span>" 77 ,"" 78 ,"正解数は!seikai_num!問、正解率は!percent!%です。" 79 ,"再挑戦をお待ちしています。" 80 ]] 81 ,[30, [ 82 "<span class='msg_tokuten'>もうちょっとです。がんばりましょう</span>" 83 ,"<span class='msg_tokuten'>!name!!name_keishou!の得点は <strong>!tokuten!点</strong> でした。</span>" 84 ,"" 85 ,"正解数は!seikai_num!問、正解率は!percent!%です。" 86 ,"再挑戦をお待ちしています。" 87 ]] 88 ,[0, [ 89 "<span class='msg_tokuten'>あれ、わざと間違えたのかな。</span>" 90 ,"<span class='msg_tokuten'>!name!!name_keishou!の得点は <strong>!tokuten!点</strong> でした。</span>" 91 ,"" 92 ,"正解数は!seikai_num!問、正解率は!percent!%です。" 93 ,"再挑戦をお待ちしています。" 94 ]] 95]; 96/* リスタートのボタン名 */ 97var restart_button_name="RESTART"; 98/*---------- 管理モード ----------*/ 99var pw="0123"; 100 101

javascript

1/*------------------------------------------------------------------------ 2 * Quiz Generator Script Ranking+ 3 * Copyright 2012 Sawa's Factory 4 * http://sawa-s.com/quiz-generator-ranking.html 5------------------------------------------------------------------------*/ 6 7var q_now=0, tokuten=0, q_tok=0, tsum=0, percent=0,seikai_num=0; 8var name, dname, save_html; 9var cgi_rank=0, result=0, not_list=0, listing_cache=0, ranking_cache=0; 10var ranking_data = new Array(); 11var listing_data = new Array(); 12var credit="<div id='quiz_credit'>Created by <a href='http://sawa-s.com/' target='_blank'>Sawa's Factory</a></div>"; 13var tag_p="</p><p>",tag_br="&nbsp;<br/>"; 14var q_l_button="<div class='quzi_lr_open_button' onclick='cgi_read(0);'>" + listing_title + "</div>"; 15var q_r_button="<div class='quzi_lr_open_button' onclick='cgi_read(1);'>" + ranking_title + "</div>"; 16var ques = new Array(); 17for (i=0; i<q_no ; i++){ques[i] = 0;} 18var qs_len = questions.length; 19if (qs_len < q_no){alert("エラー:出題数" + q_no + "問ですが、問題数が" + qs_len + "問しかありません。\n問題数を増やすか、出題数を減らしてください。");throw new Error(0, "");} 20var seq = new Array(); 21for (i=0; i<qs_len; i++){seq[i] = i;} 22if (q_rnd){shuffle(seq);} 23$(function(){ 24 name = $.cookie("quiz"); 25 if (name == null || name == "null"){name="";} 26 var name_skip=["<span style='font-size:10px;color:blue;letter-spacing:0px;'>省略可</span>","<span style='font-size:10px;color:red;letter-spacing:0px;'>省略不可</span>"] 27 var name_form="<div class='name_form'><form name='form1'>お名前<span style='font-size:11px;letter-spacing:0px;'>(HN)(最大" + name_length + "文字)</span>:" + name_skip[name_input] 28 + "&nbsp;<input type='text' name='name' class='name_form_in' size='20' maxlength='" + name_length + "' value='"+ name + "' /></form></div>"; 29 if (q_dsp){var q_img_div="<div id='dsp0'><img src='" + img_file[0] + "' /></div><div id='dsp1'><img src='" + img_file[1] + "' /></div>";}else{var q_img_div="";} 30 if (q_dsp && q_sound){var sound_msg="<span style='font-size:11px;'>※注:音が出ます。</span><embed src='" + sound_file[0] + "' hidden='true' autostart='false' /><embed src='" + sound_file[1] + "' hidden='true' autostart='false' />";}else{var sound_msg="";} 31 if (q_timer){var q_timer_div="<div id='quiz_timer'></div>";}else{var q_timer_div="";} 32 var quiz_box_html="<div id='quiz_title'>" + q_title + "</div>" + "<div id='quiz_wrap'></div>" + credit + q_img_div + q_timer_div 33 + "<div id='quiz_msg'><p>" 34 + opening_msg.join(tag_p) + "</p>" + sound_msg 35 + name_form + "<div id='quiz_start' onclick='quiz_start();'>" + opening_start_button + "</div>" + q_l_button+ q_r_button; 36 $("#quiz_box").html(quiz_box_html).width(q_w).height(q_h); 37 $("#quiz_wrap").height(q_h - 75); 38}); 39 40function quiz_start() { 41 ranking_data=[],listing_data=[]; 42 name=document.form1.name.value; 43 if (name_input == 1 && name == ""){ 44 alert("お名前を入力してください。"); 45 } 46 else if (name == pw){admin();} 47 else{ 48 dname=name; 49 if (name != ""){$.cookie("quiz",name,{path:cookiePath,expires:cookieExpires});} 50 else {dname = tokumei;} 51 $("#quiz_msg").hide(); 52 var a_seq = new Array(); 53 go_question(); 54 } 55} 56 57function next_question(){ 58 q_now ++; 59 if (q_now >= q_no){ 60 if (tokuten < 1){q_tok=0;} 61 else {q_tok=Math.round(tokuten / tsum * 100);} 62 percent = Math.round(seikai_num / q_no *100); 63 64 if (q_tok >= quiz_clear){n = setTimeout(listing_regist,1000);} 65 else {n = setTimeout(ending,1000);} 66 } 67 else {go_question();} 68} 69 70function go_question(){ 71 var list_html="<div id='quiz_answer'>"; 72 a_seq = []; 73 for (i=0; i<questions[seq[q_now]][1].length; i++){a_seq[i] = i;} 74 if (q_sfl){shuffle(a_seq);} 75 for (i=0; i < a_seq.length; i++){ 76 j = a_seq[i] + 1; 77 list_html = list_html + "<div id='qan" + j + "' class='qan_list' onclick='q_answer(" + j + ");'>" + questions[seq[q_now]][1][a_seq[i]] + "</div>"; 78 } 79 list_html += "</div>"; 80 $("#quiz_wrap").html("<div id='quiz_question'>" + questions[seq[q_now]][0] + "</div>" + list_html).slideDown("slow"); 81 if (q_timer){ 82 tm_count=q_timer; 83 qt_interval=setInterval(quiz_timer,1000); 84 } 85} 86 87function q_answer(ans){ 88 if (ques[q_now] == 0){ 89 if (q_timer){clearInterval(qt_interval);} 90 ques[q_now] = 1; 91 for (i=0; i < questions[seq[q_now]][1].length; i++){ 92 j = i + 1; 93 if (ans == j){$("#qan" + j).css("background","#FFE").css("border","2px inset #eee").css("cursor","wait");} 94 else{$("#qan" + j).css("background","#cfc").css("border","2px outset #6c6").css("cursor","wait");} 95 } 96 if (questions[seq[q_now]][2] == ans){ 97 tokuten = tokuten + questions[seq[q_now]][3]; 98 seikai_num ++; 99 qa = 1; 100 } 101 else{qa = 0;} 102 if (q_dsp){ 103 if (q_sound){$("#quiz_question").append("<embed src='" + sound_file[qa] + "' autostart='true' hidden='true' loop='false' />");} 104 $("#dsp" + qa ).fadeIn(); 105 nl=setTimeout(q_answer_close,q_dtime*1000);} 106 else {nl=setTimeout(q_answer_close,500);} 107 } 108} 109 110function q_answer_close(){ 111 tsum = tsum + questions[seq[q_now]][3]; 112 $("#dsp0,#dsp1").hide(); 113 $("#quiz_wrap").slideUp("slow"); 114 if (q_timer){ 115 $("#quiz_timer").html(""); 116 } 117 n = setTimeout(next_question,1000); 118}

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

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

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

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

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

jm1156

2016/08/01 23:40

HPからそのままコピーしたようですが、、、 「不正解のときに正しい答えを表示」を行うのは、 答えを選択したタイミングでしょうか? それならば、答えを選択する部分のコードを貼ってくれませんか?
kei344

2016/08/02 01:43

「正しい答えをフィードバック」とはどういう挙動でしょうか。
oshibuchiryo5

2016/08/02 01:56

正しい答えの選択肢を強調表示(赤にするなど)できたら良いと考えています。
guest

回答2

0

function q_answer(ans)の中の、
else{qa = 0;}
の部分の中に書けばOKです。

投稿2016/08/02 00:25

jm1156

総合スコア866

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

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

oshibuchiryo5

2016/08/02 00:43

ありがとうございます。「書く」というのは正答の番号を書く,ということでしょうか。
jm1156

2016/08/03 03:55

いえ、あなたのおっしゃる「正しい答えの選択肢を強調表示(赤にするなど)」のコードを書けばOKです。
guest

0

そのスクリプトの掲載されていたサイトで、有償カスタマイズを受けたらどうですか。

投稿2016/08/02 00:16

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

oshibuchiryo5

2016/08/02 00:20

サイトが更新されていないようで連絡もつかず困っていたところでした。申しわけありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問