質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

2855閲覧

Webサイト上で動く、くじ引きのプログラムを作成したい

shigeimon

総合スコア2

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2021/06/29 06:35

実現したいこと

Webサイト上で動く、くじ引きのプログラムを作成したいと思っています。
ボタンを押すたびにくじ引き結果とその結果に対応した画像を表示させたいです。
例えば、だるまのときは「だるま」の文字と「daruma.png」、こけしのときは「こけし」の文字と「kokeshi.png」といった具合にランダムで表示される文字に画像を紐付けて表示したいと思っています。

文字のみのくじ引きのプログラムはこちらのサイト(https://techacademy.jp/magazine/29972)を参考にjQueryを使って以下のように作成したのですが、くじ引き結果と画像をどのように紐付けて記述すればよいのかわかりません。
ご教授いただけないでしょうか。

該当のソースコード

html

1<html> 2 <body> 3 <button id="startButton">くじを引く</button> 4 <p><span id="result"></span></p> 5 <img src="" alt=""> 6 <script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" 7 integrity="sha256-pasqAKBDmFT4eHoN2ndd6lN370kFiGUFyTiUHWhU7k8=" crossorigin="anonymous"></script> 8 <script> 9 var results = [ 10 "だるま", 11 "こけし", 12 "赤べこ" 13 ]; 14 // ボタンを押した際の動作 15 $('#startButton').on('click', function() { 16 var random = Math.floor( Math.random() * results.length ); 17 var result = results[random]; 18 $('#result').html(result); 19 }); 20 </script> 21 </body> 22</html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

オブジェクトで持つと良いのでは

js

1var results = 2[ 3 { 4 name:"だるま" 5 ,image:"daruma.png" 6 },//省略 7];

results[random]でrandomが0なら

json

1{ 2 name:"だるま" 3 ,image:"daruma.png" 4 }

が取れるので、
名称取りたければ
result.name
画像名取りたければ
result.image
のようにアクセス。

投稿2021/06/29 07:42

編集2021/06/29 07:45
m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shigeimon

2021/06/30 02:19

無事、文字と画像を表示することができました! とても勉強になりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問