• 締切済み

スライドショーの表示秒数について質問です。

一度質問させていただいたのですが再度質問させていただきます、何度もすみません。 スライドショーを作りたいのですが、たとえば、一枚目の画像は2秒、2枚目の画像は10秒、3枚目の画像は8秒etcetc..というように画像の表示秒を画像ごとに可変させる方法はありませんでしょうか? この方法が皆目分からず難儀しております。 プラグインでも、自作でもかまいませんので考え方、作り方をご指南いただきたいです。 何卒よろしくお願いいたします。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

原理的な考え方のみですが・・・ 切り替えの時間をHTMLの要素やスクリプトの配列などで持っておいて、スライドの切替をsetTimeoutで行うようにし、次の切替までの時間を個別に指定するようにすればよいのではないでしょうか? 例えば、  切り替え処理を function change(){ ;} と仮定して、  表示画像のインデックスを var index  表示時間の配列を var times = [2, 10, 8, ・・・] などとすれば、  setTimeout(change, 1000 * times[index++]) のような処理で、changeの中でループする仕組みにしておけば実現できそうに思います。 (実際にはindexがmaxになったら終了するとか、0に戻すとかが必要ですが)

paranoaman
質問者

お礼

具体的にありがとうございます。 僕が必要としていた応えに近く、これからいただいたアドバイスを参考に実装してみようと思います。 ありがとうございました!

回答No.2

一番簡単なのは表示間隔が指定できる、ファイル名順にスライドショーするアプリを用意して、必要なだけの画像を用意する、です。 >一枚目の画像は2秒、2枚目の画像は10秒、3枚目の画像は8秒etcetc..というように画像の表示秒を画像ごとに可変させる方法はありませんでしょうか? この場合、単位時間を「2秒」に設定して、1枚目の画像を1枚、2枚目の画像を5枚、3枚目の画像を4枚用意します。 つまり、画像ファイルを、合計で10ファイル用意します。 各2秒づつ [1][2][2][2][2][2][3][3][3][3] と言う感じで表示されるので、「2」の画像は10秒表示され、「3」は8秒になります。 画像ファイルの数が膨大になりますが、いちいち自作するより早いです。すべて「既存の物」が使えますから。

paranoaman
質問者

お礼

ご教授いただきありがとうございます。 これは、アプリをサーバーに入れ込み、連動させるっということなのでしょうか? ちなみにユーザーが好きなように登録する仕組みですので秒数や枚数は可変です。 できれば、純粋にjqueryなどで行うスライドショーでの実装を知りたいのです。 ありがとうございました!

  • moyue
  • ベストアンサー率55% (289/525)
回答No.1

スライドショー作るソフトは、何ですか? windows live ムービーメーカーなら自由に好きなように設定できます。 Windows live ムービーメーカーのビデオツールの中の編集で 1秒から30秒までの間で変えられます。 画像の一枚一枚に秒数が、設定できます。

paranoaman
質問者

お礼

すみません、ご回答いただいたのに気づきませんでした。 現在、スライド作成システムというものを製作中です。 登録画面からタイトル、画像、秒数、コメントを入力してもらいます。 登録画像数は制約なしなので何枚でも登録できるシステムです。最終的にそのタイトルに紐づいた画像、秒数、コメントをJqueryなりでスライドショーでプレビューする、といった仕組みです。僕が知りたいのはユーザーが登録した情報をスライドプレビューする時の秒数の可変が上手くいきません。ユーザーは何枚でも登録できますので、自動で可変プレビューさせる必要があります。 ビデオツールなどを使用しない純粋なjavascript出したいです。画像のスライド、コメントの可変は上手くいっています。秒数をどうにか。。っというところです。 ありがとうございます!

関連するQ&A