画像を二枚ずつ表示して、選んでもらうプログラムを作ってますが、うまくいきません。
具体的には
初め「Start」の画像が表示され、画像をクリックすると二枚の画像が表示されます。
そして、どちらか片方の画像がクリックされると、また別の組み合わせの二枚の画像が表示される。
といったことを繰り返して、最終的に全ての画像の組み合わせに対して選んでもらうといったプログラムになります。
表示される画像の組み合わせはランダムにしたいです。
こんな事が出来ますか?
また、どうしたらいいのでしょうか?
よろしくお願いします
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
HTML で可能です。
以下サンプル
<script>(function(){
_ var gamedata = {
_ _ first: {start:'/img/start.jpg'}, // Start 画像
_ _ times: 2, // 選んでもらう回数
_ _ pairs: [
_ _ _ {a1:'/img/a1.jpg', a2:'/img/a2.jpg'}, // 二枚の画像
_ _ _ {b1:'/img/b1.jpg', b2:'/img/b2.jpg'}, // 別の組み合わせの二枚の画像
_ _ _ // ...
_ _ ],
_ _ stock: [],
_ _ result: [],
_ _ init: function(){ this.result = [], this.stock = [this.first].concat(sort(this.pairs, this.times)); },
_ _ next: function(){ return this.stock.shift() },
_ };
_ function Q(s){ return document.querySelector(s) }
_ function E(n,p){ var i, e = document.createElement(n); if(p) for(i in p) e[i]=p[i]; return e }
_ function sort(a,n) {
_ _ var i, j, t, x = a.slice(), s = x.length;
_ _ for (i=0; i<n; i++, s--) j=Math.random()*s|0, t=x[i], x[i]=x[i+j], x[i+j]=t;
_ _ return x.slice(0,n);
_ }
_ addEventListener('DOMContentLoaded', function(ev) {
_ _ gamedata.init();
_ _ displayNext();
_ }, false);
_ addEventListener('hashchange', function(ev) {
_ _ var hash = ev.target.location.hash;
_ _ switch (hash) {
_ _ _ case '#reset': gamedata.init(); break;
_ _ _ case '#start': break;
_ _ _ default: gamedata.result.push(hash);
_ _ }
_ _ displayNext();
_ }, false);
_ function displayNext() {
_ _ var e = Q('.main');
_ _ while (e.firstChild) e.removeChild(e.firstChild);
_ _ var o = gamedata.next();
_ _ if (o) {
_ _ _ for (var i in o) Q('.main').appendChild(E('a', {href:'#'+i})).appendChild(E('img', {src:o[i],alt:i}));
_ _ } else {
_ _ _ var x = Q('.main').appendChild(E('ol'));
_ _ _ x.style.display = 'inline-block';
_ _ _ gamedata.result.forEach(function(hash){ x.appendChild(E('li', {textContent:hash})) }); // 選んだ画像hashを一覧表示
_ _ }
_ }
})()</script>
<a href=#reset>reset</a><section class=main></section>
No.1
- 回答日時:
されたい事が分からない。
>どちらか片方の画像がクリックされると、また別の組み合わせの二枚の画像が表示される。
1) A or B Aを選択
2) C Or D また別の組み合わせ Cを選択
3) E or F
↓
A D E ・・・・
それとも
1) A or B Aを選択
2) A1 Or A2 また別の組み合わせ A2を選択
3) A2₁ or A2₂
↓
A A2 A2₁
数が少なければHTMLと簡単なjavascriptでも可能ですが、すべてをjavascriptで作成するなり、frashを使っても良いですが、ブラウザに依存することなど(javascriptを制限しているユーザー,frashはIpadで使えない)から、サーバー側で処理するのが簡単で楽でしょう。すなわちCGIかPHPを使う。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- X(旧Twitter) ツィッターの画像表示について 1 2023/08/17 09:28
- LINE スマホを替えてから、LINEの画像が表示されなくなりました 1 2022/10/04 13:41
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- HTML・CSS HTMLのフォームについてお尋ねします 1 2022/12/03 21:47
- その他(IT・Webサービス) PCを立ち上げ時いつも同じ画像が出ます(トラブル発生、終了) 2 2022/04/23 12:46
- pixiv pixivのマンガの検索結果はイラストに含まれますか? 1 2023/06/01 07:54
- フリーソフト 倍率自動調整して全画面表示できるフリーの画像ビューアー 1 2023/08/24 10:55
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- 画像編集・動画編集・音楽編集 エクスプローラー サムネイル表示されない 1 2022/12/22 10:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IMGタグでTIFF画像を表示
-
崩れたレイアウトが更新すると...
-
HTML上の画像を結合する方法が...
-
<area></area> 部分にボーダー...
-
IEでのalt属性ポップアップ表示...
-
onmouseoverに複数の命令を書き...
-
「DecareステートメントにPtrSa...
-
areaタグのマウスオーバー時に枠線
-
tifファイルが表示されない
-
バナーの貼り方とバナーにリン...
-
スライドショーの上にロゴマー...
-
htmlでのpdf資料のリンク方法
-
form以外でのpostってできますか?
-
元々あるファビコンが消えない
-
HTML文書 画像の保存の仕方
-
代替テキストを素早く表示
-
pngやjsの後ろの英数字の意味は...
-
htmlで画像上にボタンを配...
-
HTMLファイルの一部の画像だけ...
-
FTPでimgタグがアップロード出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ボタンを押したままにする。
-
IMGタグでTIFF画像を表示
-
pngやjsの後ろの英数字の意味は...
-
スライドショーの上にロゴマー...
-
バナーの貼り方とバナーにリン...
-
背景が透明なリンクボタンで、...
-
HTMLにQRコードを挿入する方法
-
タイトルバーに画像を入れるHTM...
-
form以外でのpostってできますか?
-
HTMLでデスクトップの画像がでない
-
CSSなどでHTML全体の表示を拡大...
-
画像クリックでクリップボード...
-
すいません HTMLです この画像...
-
拡張子無しで画像を表示したいです
-
期間ごとに画像表示を切り替え...
-
クリックしても、リンクに飛ば...
-
特定の画像ファイルでレイアウ...
-
カウンターのHTMLソースを教え...
-
バナーのURLについて
-
クリッカブルMAP領域が分かる様...
おすすめ情報