質問編集履歴
2
申しわけありません。自分でもう少し勉強します。
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
1
この部分でしょうか。よろしくお願いします。
test
CHANGED
File without changes
|
test
CHANGED
@@ -204,148 +204,248 @@
|
|
204
204
|
|
205
205
|
|
206
206
|
|
207
|
-
/*--------------- ここからCGI登録、一覧・ランキング表示に関する設定 ---------------/*
|
208
|
-
|
209
|
-
/* JavaScriptでCGIを制御しております。
|
210
|
-
|
211
|
-
以下の設定をするだけでCGIへデータが渡されます。 */
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
/* CGIファイルの場所と名前 CGIが別サーバーの場合はhttp://…から書く */
|
216
|
-
|
217
|
-
var cgi_file="cgi/record.cgi";
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
/* ---------- 名前入力関係の設定 ---------- */
|
222
|
-
|
223
|
-
/* 名前の入力 0-匿名(省略)可 1-入力必須 */
|
224
|
-
|
225
|
-
var name_input=0;
|
226
|
-
|
227
|
-
/* 匿名の場合の名前 */
|
228
|
-
|
229
|
-
var tokumei="匿名";
|
230
|
-
|
231
|
-
/* 名前のあとの敬称 */
|
232
|
-
|
233
|
-
var name_keishou="さん"
|
234
|
-
|
235
|
-
/* 名前の最大文字数 */
|
236
|
-
|
237
|
-
var name_length=6;
|
238
|
-
|
239
|
-
/* クッキー保存期間 日数 */
|
240
|
-
|
241
|
-
var cookieExpires=7;
|
242
|
-
|
243
|
-
/* クッキーパス */
|
244
|
-
|
245
|
-
var cookiePath="/";
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
/* ---------- 最新のクイズ履歴一覧の設定 ---------- */
|
250
|
-
|
251
|
-
/* 一覧に表示する人数 */
|
252
|
-
|
253
|
-
var listing_num=20;
|
254
|
-
|
255
|
-
/* 一覧の名称 */
|
256
|
-
|
257
|
-
var listing_title="最新" + listing_num + "名の履歴一覧";
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
/* ---------- ランキングの設定 ---------- */
|
262
|
-
|
263
|
-
/* ランキングをクリアするタイミング
|
264
|
-
|
265
|
-
0-クリアしない 1-月が変わったらクリアする 2-年が変わったらクリアする
|
266
|
-
|
267
|
-
クイズ運用後に変更すると、クリアされてしまうので注意。 */
|
268
|
-
|
269
|
-
var ranking_clear=1;
|
270
|
-
|
271
|
-
/* ランキングに表示する人数 */
|
272
|
-
|
273
|
-
var ranking_num=20;
|
274
|
-
|
275
|
-
/* ランキングの名称 */
|
276
|
-
|
277
|
-
var ranking_title="今月のランキング";
|
278
|
-
|
279
|
-
/* コメントの入力 0-省略可 1-必須 */
|
280
|
-
|
281
|
-
var ranking_comment=1;
|
282
|
-
|
283
|
-
/* コメントの最大文字数 */
|
284
|
-
|
285
|
-
var ranking_comment_length=12;
|
286
|
-
|
287
|
-
/* ランクインした場合の登録メッセージ */
|
288
|
-
|
289
|
-
var rankin_msg=[
|
290
|
-
|
291
|
-
"!name!!name_keishou! の得点が <span style='color:red;font-weight:bold;font-size:16px;'>!rank!位</span> にランクインされました。",
|
292
|
-
|
293
|
-
"コメント欄に感想等書いてくれると嬉しいです。",
|
294
|
-
|
295
|
-
"",
|
296
|
-
|
297
|
-
"ランキングに登録するには[登録]を、<br/>登録せず結果を見る場合は[結果表示]をクリックしてください。"
|
298
|
-
|
299
|
-
];
|
300
|
-
|
301
|
-
/* 一覧及びランキングをクローズするボタン画像 */
|
302
|
-
|
303
|
-
var lr_close_button="image/close_button.png";
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
/* ---------- 一覧&ランキングに出力するソートキーの設定 ---------- */
|
308
|
-
|
309
|
-
/* ソートキー */
|
310
|
-
|
311
|
-
var sort_key="!tokuten!";
|
312
|
-
|
313
|
-
/* 追加キー */
|
314
|
-
|
315
|
-
var listing_add_key="!percent!";
|
316
|
-
|
317
|
-
/* 一覧及びランキングに表示する名前 */
|
318
|
-
|
319
|
-
var sort_key_name=new Array();
|
320
|
-
|
321
|
-
sort_key_name['!tokuten!']="得点";
|
322
|
-
|
323
|
-
sort_key_name['!seikai!']="正解点数";
|
324
|
-
|
325
|
-
sort_key_name['!seikai_num!']="正解数";
|
326
|
-
|
327
|
-
sort_key_name['!percent!']="正解率<br/>(%)";
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
/* ---------- 一覧&ランキングの登録設定 ---------- */
|
332
|
-
|
333
|
-
/* 匿名の場合、一覧及びランキングに登録 0-しない 1-する */
|
334
|
-
|
335
|
-
var listing_tokumei=1;
|
336
|
-
|
337
|
-
/* 匿名の場合、ランキングに登録 0-しない 1-する */
|
338
|
-
|
339
|
-
var ranking_tokumei=0;
|
340
|
-
|
341
|
-
/* 一覧に重複登録 0-許可する 1-許可しない */
|
342
|
-
|
343
|
-
var listing_dupli=1;
|
344
|
-
|
345
|
-
/* ランキングに重複登録 0-許可する 1-許可しない */
|
346
|
-
|
347
|
-
var ranking_dupli=1;
|
348
|
-
|
349
207
|
|
350
208
|
|
351
209
|
```
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
```javascript
|
214
|
+
|
215
|
+
/*------------------------------------------------------------------------
|
216
|
+
|
217
|
+
* Quiz Generator Script Ranking+
|
218
|
+
|
219
|
+
* Copyright 2012 Sawa's Factory
|
220
|
+
|
221
|
+
* http://sawa-s.com/quiz-generator-ranking.html
|
222
|
+
|
223
|
+
------------------------------------------------------------------------*/
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
var q_now=0, tokuten=0, q_tok=0, tsum=0, percent=0,seikai_num=0;
|
228
|
+
|
229
|
+
var name, dname, save_html;
|
230
|
+
|
231
|
+
var cgi_rank=0, result=0, not_list=0, listing_cache=0, ranking_cache=0;
|
232
|
+
|
233
|
+
var ranking_data = new Array();
|
234
|
+
|
235
|
+
var listing_data = new Array();
|
236
|
+
|
237
|
+
var credit="<div id='quiz_credit'>Created by <a href='http://sawa-s.com/' target='_blank'>Sawa's Factory</a></div>";
|
238
|
+
|
239
|
+
var tag_p="</p><p>",tag_br=" <br/>";
|
240
|
+
|
241
|
+
var q_l_button="<div class='quzi_lr_open_button' onclick='cgi_read(0);'>" + listing_title + "</div>";
|
242
|
+
|
243
|
+
var q_r_button="<div class='quzi_lr_open_button' onclick='cgi_read(1);'>" + ranking_title + "</div>";
|
244
|
+
|
245
|
+
var ques = new Array();
|
246
|
+
|
247
|
+
for (i=0; i<q_no ; i++){ques[i] = 0;}
|
248
|
+
|
249
|
+
var qs_len = questions.length;
|
250
|
+
|
251
|
+
if (qs_len < q_no){alert("エラー:出題数" + q_no + "問ですが、問題数が" + qs_len + "問しかありません。\n問題数を増やすか、出題数を減らしてください。");throw new Error(0, "");}
|
252
|
+
|
253
|
+
var seq = new Array();
|
254
|
+
|
255
|
+
for (i=0; i<qs_len; i++){seq[i] = i;}
|
256
|
+
|
257
|
+
if (q_rnd){shuffle(seq);}
|
258
|
+
|
259
|
+
$(function(){
|
260
|
+
|
261
|
+
name = $.cookie("quiz");
|
262
|
+
|
263
|
+
if (name == null || name == "null"){name="";}
|
264
|
+
|
265
|
+
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>"]
|
266
|
+
|
267
|
+
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]
|
268
|
+
|
269
|
+
+ " <input type='text' name='name' class='name_form_in' size='20' maxlength='" + name_length + "' value='"+ name + "' /></form></div>";
|
270
|
+
|
271
|
+
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="";}
|
272
|
+
|
273
|
+
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="";}
|
274
|
+
|
275
|
+
if (q_timer){var q_timer_div="<div id='quiz_timer'></div>";}else{var q_timer_div="";}
|
276
|
+
|
277
|
+
var quiz_box_html="<div id='quiz_title'>" + q_title + "</div>" + "<div id='quiz_wrap'></div>" + credit + q_img_div + q_timer_div
|
278
|
+
|
279
|
+
+ "<div id='quiz_msg'><p>"
|
280
|
+
|
281
|
+
+ opening_msg.join(tag_p) + "</p>" + sound_msg
|
282
|
+
|
283
|
+
+ name_form + "<div id='quiz_start' onclick='quiz_start();'>" + opening_start_button + "</div>" + q_l_button+ q_r_button;
|
284
|
+
|
285
|
+
$("#quiz_box").html(quiz_box_html).width(q_w).height(q_h);
|
286
|
+
|
287
|
+
$("#quiz_wrap").height(q_h - 75);
|
288
|
+
|
289
|
+
});
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
function quiz_start() {
|
294
|
+
|
295
|
+
ranking_data=[],listing_data=[];
|
296
|
+
|
297
|
+
name=document.form1.name.value;
|
298
|
+
|
299
|
+
if (name_input == 1 && name == ""){
|
300
|
+
|
301
|
+
alert("お名前を入力してください。");
|
302
|
+
|
303
|
+
}
|
304
|
+
|
305
|
+
else if (name == pw){admin();}
|
306
|
+
|
307
|
+
else{
|
308
|
+
|
309
|
+
dname=name;
|
310
|
+
|
311
|
+
if (name != ""){$.cookie("quiz",name,{path:cookiePath,expires:cookieExpires});}
|
312
|
+
|
313
|
+
else {dname = tokumei;}
|
314
|
+
|
315
|
+
$("#quiz_msg").hide();
|
316
|
+
|
317
|
+
var a_seq = new Array();
|
318
|
+
|
319
|
+
go_question();
|
320
|
+
|
321
|
+
}
|
322
|
+
|
323
|
+
}
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
function next_question(){
|
328
|
+
|
329
|
+
q_now ++;
|
330
|
+
|
331
|
+
if (q_now >= q_no){
|
332
|
+
|
333
|
+
if (tokuten < 1){q_tok=0;}
|
334
|
+
|
335
|
+
else {q_tok=Math.round(tokuten / tsum * 100);}
|
336
|
+
|
337
|
+
percent = Math.round(seikai_num / q_no *100);
|
338
|
+
|
339
|
+
|
340
|
+
|
341
|
+
if (q_tok >= quiz_clear){n = setTimeout(listing_regist,1000);}
|
342
|
+
|
343
|
+
else {n = setTimeout(ending,1000);}
|
344
|
+
|
345
|
+
}
|
346
|
+
|
347
|
+
else {go_question();}
|
348
|
+
|
349
|
+
}
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
function go_question(){
|
354
|
+
|
355
|
+
var list_html="<div id='quiz_answer'>";
|
356
|
+
|
357
|
+
a_seq = [];
|
358
|
+
|
359
|
+
for (i=0; i<questions[seq[q_now]][1].length; i++){a_seq[i] = i;}
|
360
|
+
|
361
|
+
if (q_sfl){shuffle(a_seq);}
|
362
|
+
|
363
|
+
for (i=0; i < a_seq.length; i++){
|
364
|
+
|
365
|
+
j = a_seq[i] + 1;
|
366
|
+
|
367
|
+
list_html = list_html + "<div id='qan" + j + "' class='qan_list' onclick='q_answer(" + j + ");'>" + questions[seq[q_now]][1][a_seq[i]] + "</div>";
|
368
|
+
|
369
|
+
}
|
370
|
+
|
371
|
+
list_html += "</div>";
|
372
|
+
|
373
|
+
$("#quiz_wrap").html("<div id='quiz_question'>" + questions[seq[q_now]][0] + "</div>" + list_html).slideDown("slow");
|
374
|
+
|
375
|
+
if (q_timer){
|
376
|
+
|
377
|
+
tm_count=q_timer;
|
378
|
+
|
379
|
+
qt_interval=setInterval(quiz_timer,1000);
|
380
|
+
|
381
|
+
}
|
382
|
+
|
383
|
+
}
|
384
|
+
|
385
|
+
|
386
|
+
|
387
|
+
function q_answer(ans){
|
388
|
+
|
389
|
+
if (ques[q_now] == 0){
|
390
|
+
|
391
|
+
if (q_timer){clearInterval(qt_interval);}
|
392
|
+
|
393
|
+
ques[q_now] = 1;
|
394
|
+
|
395
|
+
for (i=0; i < questions[seq[q_now]][1].length; i++){
|
396
|
+
|
397
|
+
j = i + 1;
|
398
|
+
|
399
|
+
if (ans == j){$("#qan" + j).css("background","#FFE").css("border","2px inset #eee").css("cursor","wait");}
|
400
|
+
|
401
|
+
else{$("#qan" + j).css("background","#cfc").css("border","2px outset #6c6").css("cursor","wait");}
|
402
|
+
|
403
|
+
}
|
404
|
+
|
405
|
+
if (questions[seq[q_now]][2] == ans){
|
406
|
+
|
407
|
+
tokuten = tokuten + questions[seq[q_now]][3];
|
408
|
+
|
409
|
+
seikai_num ++;
|
410
|
+
|
411
|
+
qa = 1;
|
412
|
+
|
413
|
+
}
|
414
|
+
|
415
|
+
else{qa = 0;}
|
416
|
+
|
417
|
+
if (q_dsp){
|
418
|
+
|
419
|
+
if (q_sound){$("#quiz_question").append("<embed src='" + sound_file[qa] + "' autostart='true' hidden='true' loop='false' />");}
|
420
|
+
|
421
|
+
$("#dsp" + qa ).fadeIn();
|
422
|
+
|
423
|
+
nl=setTimeout(q_answer_close,q_dtime*1000);}
|
424
|
+
|
425
|
+
else {nl=setTimeout(q_answer_close,500);}
|
426
|
+
|
427
|
+
}
|
428
|
+
|
429
|
+
}
|
430
|
+
|
431
|
+
|
432
|
+
|
433
|
+
function q_answer_close(){
|
434
|
+
|
435
|
+
tsum = tsum + questions[seq[q_now]][3];
|
436
|
+
|
437
|
+
$("#dsp0,#dsp1").hide();
|
438
|
+
|
439
|
+
$("#quiz_wrap").slideUp("slow");
|
440
|
+
|
441
|
+
if (q_timer){
|
442
|
+
|
443
|
+
$("#quiz_timer").html("");
|
444
|
+
|
445
|
+
}
|
446
|
+
|
447
|
+
n = setTimeout(next_question,1000);
|
448
|
+
|
449
|
+
}
|
450
|
+
|
451
|
+
```
|