極力元のソースを残した形で実装してみました。ご参考までに。
JavaScriptでinput
要素のクラス名を変更し、隣接セレクタを使用してinput
要素の直後のdiv
に背景画像を設定しています。
JSFiddle - Code Playground
使用するリソースを事前に読み込み
html
1<title>ルーレット</title>
2
3<link rel="preload" href="https://via.placeholder.com/24x48?text=+0+" as="image" type="image/png">
4<link rel="preload" href="https://via.placeholder.com/24x48?text=1" as="image" type="image/png">
5<link rel="preload" href="https://via.placeholder.com/24x48?text=2" as="image" type="image/png">
6<link rel="preload" href="https://via.placeholder.com/24x48?text=3" as="image" type="image/png">
7<link rel="preload" href="https://via.placeholder.com/24x48?text=4" as="image" type="image/png">
8<link rel="preload" href="https://via.placeholder.com/24x48?text=5" as="image" type="image/png">
9<link rel="preload" href="https://via.placeholder.com/24x48?text=6" as="image" type="image/png">
10<link rel="preload" href="https://via.placeholder.com/24x48?text=7" as="image" type="image/png">
11<link rel="preload" href="https://via.placeholder.com/24x48?text=8" as="image" type="image/png">
12<link rel="preload" href="https://via.placeholder.com/24x48?text=9" as="image" type="image/png">
画像表示用のdiv
を追加
html
1<input name="x" size=1>
2<div class="image-frame"></div>
3<input name="y" size=1>
4<div class="image-frame"></div>
5<input name="z" size=1>
6<div class="image-frame"></div>
画像表示用のdiv
のスタイリング、元のinput
を非表示。
css
1input[name=x], input[name=y], input[name=z] {
2 display: none;
3}
4
5.image-frame {
6 display: inline-block;
7 background-color: white;
8 background-image: url(https://via.placeholder.com/24x48?text=?);
9 background-repeat: no-repeat;
10 background-size: cover;
11}
12
13input + .image-frame {
14 width: 24px;
15 height: 48px;
16}
17
18input.image-0 + .image-frame {
19 background-image: url(https://via.placeholder.com/24x48?text=+0+);
20}
21
22input.image-1 + .image-frame {
23 background-image: url(https://via.placeholder.com/24x48?text=1);
24}
25
26input.image-2 + .image-frame {
27 background-image: url(https://via.placeholder.com/24x48?text=2);
28}
29
30input.image-3 + .image-frame {
31 background-image: url(https://via.placeholder.com/24x48?text=3);
32}
33
34input.image-4 + .image-frame {
35 background-image: url(https://via.placeholder.com/24x48?text=4);
36}
37
38input.image-5 + .image-frame {
39 background-image: url(https://via.placeholder.com/24x48?text=5);
40}
41
42input.image-6 + .image-frame {
43 background-image: url(https://via.placeholder.com/24x48?text=6);
44}
45
46input.image-7 + .image-frame {
47 background-image: url(https://via.placeholder.com/24x48?text=7);
48}
49
50input.image-8 + .image-frame {
51 background-image: url(https://via.placeholder.com/24x48?text=8);
52}
53
54input.image-9 + .image-frame {
55 background-image: url(https://via.placeholder.com/24x48?text=9);
56}
input
のvalue
変更時にクラス名も変更。
javascript
1document.f.x.value = i;
2document.f.x.className = "image-" + i;
3document.f.y.value = j;
4document.f.y.className = "image-" + j;
5document.f.z.value = k;
6document.f.z.className = "image-" + k;
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。