• 締切済み

ランダム表示

こんばんは。 現在、インラインフレーム内にページをランダム表示させています。 今は親ページを更新すると子ページも同時に更新される状況なの ですが、今回、子ページを日付が変わるごと(もしくは数時間ごと)の ランダム表示に変更したいと思っています。「今日の○○」のような感じで…。 このような事は可能でしょうか? 宜しくお願いいたします

みんなの回答

  • hkd9001
  • ベストアンサー率48% (99/204)
回答No.3

おはようございます。#2 さんのお答えに相乗りさせてください(笑)… 1.表示させたいファイル(N 個)を連番で作り、new Date()から月・日のデータを取り出す。 2.「x = 月 * 31 + 日」(これは一例です)で求めた x を、上記 N で割って「余り」を求める。 3.この「余り」を使って、1.で作ったファイル名とうまく合致するようにファイル名を生成して表示する。 これで、日ごとに異なる内容が表示されることになります。なお「数時間ごとの変更」にしたい場合は上記2.の数式を工夫することで対応できます。

  • ANASTASIAK
  • ベストアンサー率19% (658/3306)
回答No.2

今日の○○なら、それはランダムではないでしょう。 日付相当分のファイルを連番で作り、new Date()から当日の 数値を取得してiFrameに表示させるだけでできます。 続けて同じものが出ることもないし、最も簡単な方法です。

ringerhat
質問者

お礼

ご回答ありがとうございます。 「今日の○○」には用意したファイルのうち何がきても良いと思って いるのですが例えば100個のファイルを用意して100日経過すると 次はまた新たに設定しなおさなければならないのでしょうか。 管理の手間は可能な限り省きたいと考えています。

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

簡単なやり方としてはCookieを使う方法が考えられます。 簡単なフローを書くとこんな感じです。 1.Cookieに前に表示した子ページのパスが保存されていないか調べる。ない場合は2へ、ある場合は3へ。 2.表示させるランダムなページを選択する。それと同時にCookieに選択したページのパスを期間(Expire)付きで保存する。 3.Cookieに保存されている子ページのパスを子フレームに設定する。 Expireで期間を調整出来るので、時間毎に変えたい場合も日ごとに変えたい場合も基本的にロジックは同じです。

ringerhat
質問者

お礼

ご回答ありがとうございます。 考え方は何となく理解できますが素人なのでどうやったら そのようにPCに指示できるのか皆目検討がつきません。 もし宜しければソースをご教授いただけませんでしょうか?

関連するQ&A