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

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

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

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

jQuery

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

Q&A

解決済

4回答

899閲覧

30秒ごとに違う画像をランダムに自動表示する仕組みを作りたい

sakumon88

総合スコア7

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2018/03/29 07:06

前提・実現したいこと

30秒ごとに違う画像をランダムに自動表示する仕組みを作りたいです。
できれば画像毎に対応した30文字程度のキャプションが設けられ、クリックすると詳細が記載されたページに飛ぶという機能もつけたいです。

javascript

1var a=[]; 2a[0]="img1.jpg"; 3a[1]="img2.jpg"; 4a[2]="img3.jpg"; 5 6var x; 7x=Math.floor(Math.random()*3); 8 9document.write 10 ("<img src='"+a[x]+"'>");``` 11 12 13

調べてみるとjavascript,jQueryを使えばランダムに画像を表示させることが可能ということが分かりましたが時間ごとに画像を変えたり、対応するリンク付きのキャプションの表示のさせ方が分かりません。

宜しくお願い致します。

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

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

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

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

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

guest

回答4

0

ベストアンサー

document.writeを使うのは避けたほうがいいです。
Why is document.write considered a “bad practice”? - Stack Overflow

予めHTMLにimgタグを用意しておくか、DOM操作でjavascriptから動的に生成するほうがいいです。

javascript,jQueryを使えばランダムに画像を表示させることが可能ということが分かりました

jQueryはjavascriptのライブラリで、DOM操作をやりやすくしてくれるものです。
今の場合ではjQueryは別に使うメリットはないとおもいます

時間ごとに

setIntervalを使うといいでしょう。
setInterval - MDN

画像を変えたり

 

キャプションの表示のさせ方

参考になりそうな記事
DOM② - Qiita

対応するリンク付き

対応するというのはよく分かりませんが、リンクは<a>タグで作れます。

投稿2018/03/29 07:37

karamarimo

総合スコア2551

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

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

sakumon88

2018/03/30 11:17

回答ありがとうございました! jQueryは使わなくてもいいんですね。 リンク先のページで勉強して試してみます。
guest

0

時間ごとに画像を変えたり

このあたりがヒントになるでしょう
JavaScriptでsetIntervalを使う方法【初心者向け】 | TechAcademyマガジン

対応するキャプション

配列の要素に配列や連想配列を持つことができますので、これを応用して対応をつければいいでしょう。
多次元配列 - 配列 - JavaScript入門

リンク付きのキャプション

A要素を生成しドキュメントに挿入するとよいでしょう。
JavaScriptプログラミング講座【アンカーについて(HTMLAnchorElement)】

投稿2018/03/29 07:33

Lhankor_Mhy

総合スコア36115

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

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

sakumon88

2018/03/30 11:15

回答ありがとうございました! リンク先のページで勉強します。
guest

0

setInterval()
で検索してください

投稿2018/03/29 07:27

yukiyuki123456

総合スコア130

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

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

sakumon88

2018/03/30 11:15

回答ありがとうございました!
guest

0

もうすでにいろいろ回答がついているので、これだけ。
データはこんな感じで持ったほうが扱いが楽かもしれません。

JavaScript

1var a = [ 2 { src: 'img1.jpg', link: 'img1.jpg', caption: '1の画像です' }, 3 { src: 'img2.jpg', link: 'img2.jpg', caption: '2の画像です' }, 4 { src: 'img3.jpg', link: 'img3.jpg', caption: '3の画像です' } 5];

投稿2018/03/29 08:11

x_x

総合スコア13749

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

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

sakumon88

2018/03/30 11:19

回答ありがとうございます! この方法だとあとで画像を追加するときも分かりやすそうですね。 ただ、この配列で試してみると画像が表示されませんでした。紹介してくださったページで勉強してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問