
画像を用意して、問いに当てはまる画像を下のBoxにドラッグで移動させ、
さらに下にある「答え合わせ」ボタンをクリックすると、
「答え合わせ」の場所が「〇」か「×」に変わるようにしたいです。
例えば、5つの画像(A.jpg、B.jpg、C.jpg、D.jpg、E.jpg)があり、
この中からAとCを選べば正解の場合に、どうなりますか。
回答の順番は問わず、AとC、CとA、どちらで回答しても「〇」、
正解以外のものが含まれている場合、(AとCとDなど)
もしくは、正解が足りない場合(Aのみ)は、「×」としたいです。
「×」になった場合は、「〇」になるまで、何度もクリック可能としたいです。
「答え合わせ」ボタンは、できればテキストで、難しい場合は、画像にしようと思っています。
画像をドラッグで移動させることはできましたが、「答え合わせ」の動作が分かりません。
つたない質問ですみませんが、教えてください。よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
そもそもJavaScriptではないのかもしれませんが。
もしそうだったら、こんな感じはどうでしょう。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
img {
width: 100px;
height: 20px;
}
.dropzone {
width: 600px;
height: 200px;
border:1px solid #555;
margin: 10px;
padding: 10px;
}
</style>
</head>
<body>
<div class="dropzone">
<p>ここから選ぶ</p>
<img alt="a" draggable="true" src="A.jpg">
<img alt="b" draggable="true" src="B.jpg">
<img alt="c" draggable="true" src="C.jpg">
<img alt="d" draggable="true" src="D.jpg">
<img alt="e" draggable="true" src="E.jpg">
</div>
<div id="ans" class="dropzone">
<p>ここに回答</p>
</div>
<input type="button" id="check" value="答え合わせ">
<script>
// drag&drop
let dragged;
document.addEventListener("dragstart", function(event) {
dragged = event.target;
}, false);
document.addEventListener("dragover", function(event) {
event.preventDefault();
}, false);
document.addEventListener("drop", function(event) {
if (event.target.className == "dropzone") {
event.target.appendChild( dragged );
}
}, false);
// 答え合わせ
const answer = { // a と cが答え
a: true,
b: false,
c: true,
d: false,
e: false,
};
const
A = document.getElementById('ans'),
C = document.getElementById('check');
C.addEventListener('click', ()=>{
select = [...A.querySelectorAll('img')].map(img => img.alt);
let flag = true;
for (let key in answer){
if(! answer[key] === select.includes(key)){
flag = false;
};
}
C.value = (flag)? '○': '×';
}, false);
</script>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
背景画像の繰り返しについて
-
uwscについての質問です。 画面...
-
VBSでワードに画像を貼り付ける
-
同じ画像を複数回表示させる
-
画像の存在チェック
-
HTMLで画像をポップアップで表...
-
画像の一部だけが点滅する画像...
-
VB6での画像のサイズ変更に関して
-
uwscについてです
-
セックスレスの既婚女性は自慰...
-
Visual Basic 6.0 コンボボック...
-
CloseとDisposeの違い
-
エクセルで、日付を入力すると...
-
エクセルVBAで、MsgBox やInput...
-
メルカリのメルカードで買い物...
-
「ご処理進めて頂きますようお...
-
VBAでCOPYを繰り返すと、処理が...
-
PDFフォームに本日の日付を自動...
-
マウスイベントが動かない
-
オブジェクト名をVBAで指定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 複数のImageコントロ...
-
VBAのユーザーフォームのイメー...
-
Excel ユーザーフォームで表示...
-
【EXCEL VBA】ダブルクリックで...
-
スマホでサイトの画像を長押し→...
-
UWSC 画像判定と条件分岐について
-
HTMLで画像をポップアップで表...
-
「using Windows」でエラーが出る
-
画像のビット数を変更する方法
-
画像処理したBitmapをピクチャ...
-
UWSC「画像が無い場合」
-
背景画像の繰り返しについて
-
PowerPoint VBA で画像の鮮明度...
-
uwcs のマクロで画像認識をして...
-
gif 画像上の ボタンに リン...
-
画像が分割されて切り替わる、...
-
uwscの画像認識に失敗します。
-
C#で画像を他の画像に貼り付け...
-
vb.net 画像の透過について
-
MFCでCImageListに画像追加失敗
おすすめ情報