ネットなしでもできるテスト

※別途問題ファイルの作成が必要です。


問題ファイルは

問題の後に半角スペース一つ、コロン(:)二つを入力して解答をすぐ後に記入します。

改行で一問題の区切りです。

以下は問題ファイルの例です。


問題1 ::回答1

四面楚歌 ::周りが敵だらけで助けが全くないこと。

Then ::それで

1+1= ::2


...。とか。

そんな感じです。


問題数が少なすぎると同じ問題ばかりが出てしまいますが、それは対策のしようがないので^^;

改行=確定です。

可能な限り最小化するために、答えを見る機能を削ったのでそこは許してください...


以下コピペ↓

javascript:

var z = document.createElement("div");

z.innerHTML = "

<html>

<body>

<div id=00><input type=file id=0></input><hr></div>

<div id=2></div><input type=text id=1></input>

</body>

</html>

";

document.querySelector("body").appendChild(z);


qu = [];

an = [];

var int = document.getElementById("0");

int.addEventListener("change", function (int) {

var file = int.target.files;

var reader = new FileReader();

reader.readAsText(file[0]);

reader.onload = function () {

document.getElementById("0").style.display = "none";

var q = reader.result;

var q2 = q.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n");

q2.forEach(v => {

[x, y] = v.split(' ::');

qu.push(x);

an.push(y);

});

var que = document.getElementById("2");

var ans = document.getElementById("1");

que.innerHTML = qu[0];

answ = an[0];

ans.addEventListener("change", function(){

if (ans.value == answ){

var b = Math.floor(Math.random() * an.length);

var al = b == al ? Math.floor(Math.random() * (an.length - 1)) : b;

que.innerHTML = qu[al];

answ = an[al];

ans.value = "";

}

});

}

});

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

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

カクヨムで可能な読書体験をくわしく知る