OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

画像クリック時に3種類のページに、ランダムにリンクさせるには?

  • 暇なときにでも
  • 質問No.217087
  • 閲覧数96
  • ありがとう数3
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 66% (26/39)

こういうことは出来るのでしょうか?お教えください。

トップページに画像を張り、クリックした時に別ウインドウが立ちあがるという設定で…
画像クリックのタイミングによって、別ウインドウの中身が3種類入れ替わるようにするには、どのようなタグを画像に設定すれば出来るのでしょうか。。。
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.5
レベル12

ベストアンサー率 75% (398/526)

> 切り替わるページはフレーム定義のページ名(a.html)、だけで、b.htmlとc.htmlのところには何と記述すれば良いのでしょうか。。

あれ、もしかして、
 トップページ(画像クリック) → 上下フレームページ(下をランダムに変えたい)
ということですか??
すみません、ちょっと勘違いしてました^^;

これだったら、上下フレームページ(フレーム定義HTML)に細工をすればOKです。
(トップのHTMLでは、普通にフレームページにリンクすればOKです。)

<HTML>
<HEAD>
<TITLE>FRAMESET</TITLE>
<SCRIPT language="JavaScript"><!--
var page = new Array(
'a.html'
,'b.html'
,'c.html'
);
function choose_page() {
  var dt = new Date();
  var index = Math.ceil(dt.getTime() / 1000) % page.length;
  open(page[index],"main","");
}
//--></SCRIPT>
</HEAD>
<FRAMESET rows="30%,*" onLoad="choose_page()">
 <FRAME name="menu" src="ue.html">
 <FRAME name="main" src="about:blank"> ← about:blank にしておく
</FRAMESET>
</HTML>
お礼コメント
garfield

お礼率 66% (26/39)

ありがとうございました。
出来ました。完璧です。
javascriptとは奥が深いものですね。いろいろと勉強になりました。
投稿日時 - 2002-02-15 16:13:24
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1
レベル14

ベストアンサー率 24% (612/2465)

こんなのでしょうか Mathを利用し、乱数を発生させ、0~3をランダムに変えさせています。 flagで1回目だけ新しいブラウザを開き、2回目以降は同じブラウザの中身だけ変えています。 --- <HTML> <HEAD> <script type="text/javascript"> varflag=0; function viewUR ...続きを読む
こんなのでしょうか
Mathを利用し、乱数を発生させ、0~3をランダムに変えさせています。
flagで1回目だけ新しいブラウザを開き、2回目以降は同じブラウザの中身だけ変えています。
---
<HTML>
<HEAD>
<script type="text/javascript">
varflag=0;
function viewURL()
{
var _url= ["http://www.yahoo.co.jp/","http://www.goo.ne.jp/","http://www.google.co.jp/"];
t = Math.floor(Math.random()*_url.length);
if (flag == 0) {
subwin = window.open(_url[t],"subwin");
flag = 1;
}
else {
subwin.location.href=_url[t];
}
}
</script>
</HEAD>
<BODY>
<A HREF="javascript:viewURL()"><IMAGE SRC="img1.jpg"></A>
</BODY>
</HTML>
補足コメント
garfield

お礼率 66% (26/39)

ご回答頂きありがとうございました。すばらしいです。
ところで、追加で質問しても宜しいでしょうか?

切り替えるページというのはフレームで分割されたもので、下側のフレーム部分の内容だけが3つに切り替わる…というようにしたいのですが、その場合これ以上のページを作成しなくても切り替わるようにするのは可能でしょうか?
投稿日時 - 2002-02-14 11:03:24


  • 回答No.2
レベル12

ベストアンサー率 75% (398/526)

madman さんが、ランダムにページを表示する方法を挙げていますので、指定秒数ごとに表示されるページを切り替える方法を示します。 <HTML> <HEAD> <SCRIPT language="JavaScript"><!-- var index = 0; var interval = 2000;   // 切り替えタイミング( ...続きを読む
madman さんが、ランダムにページを表示する方法を挙げていますので、指定秒数ごとに表示されるページを切り替える方法を示します。

<HTML>
<HEAD>
<SCRIPT language="JavaScript"><!--
var index = 0;
var interval = 2000;   // 切り替えタイミング(ミリ秒)
var page = new Array(   // ページのURL
   'a.html'
  ,'b.html'
  ,'c.html'
);
function count_up() {
  index = (index + 1) % page.length;
  setTimeout("count_up()", interval);
}
function open_page() {
  var win = open(page[index], "NewPage", "");
  win.focus();
}
//--></SCRIPT>
</HEAD>
<BODY onLoad="count_up()">
<A href="javascript:open_page()"><IMG src="***"></A>
</BODY>
</HTML>
補足コメント
garfield

お礼率 66% (26/39)

ありがとうございます。すばらしいです。
ところで、もう少し複雑なケースの場合についてお尋ねして宜しいでしょうか?

切り替えたページというのはフレームで分割されたもので、下側のフレーム部分だけが3つ切り替わるようにしたいのです。その場合は、やはり、切り替わる3つのファイル分の「フレームセットのページ」を作成するしか無いのでしょうか?
投稿日時 - 2002-02-14 10:52:30
  • 回答No.3
レベル12

ベストアンサー率 75% (398/526)

> 切り替えたページというのはフレームで分割されたもので、下側のフレーム部分だけが3つ切り替わるようにしたいのです。 > その場合は、やはり、切り替わる3つのファイル分の「フレームセットのページ」を作成するしか無いのでしょうか? いやいや、そんなことはないですよ。 フレームを定義している HTML の FRAME タグに、name 属性は指定していますか? その name の値を ...続きを読む
> 切り替えたページというのはフレームで分割されたもので、下側のフレーム部分だけが3つ切り替わるようにしたいのです。
> その場合は、やはり、切り替わる3つのファイル分の「フレームセットのページ」を作成するしか無いのでしょうか?

いやいや、そんなことはないですよ。
フレームを定義している HTML の FRAME タグに、name 属性は指定していますか?
その name の値を open 関数の第2パラメータに指定すれば、指定したフレームのページが切り替わります。
(open 関数は、第2パラメータに指定された名前のウィンドウがなければ新たにウィンドウを開き、既にあればそのウィンドウに別のページを表示します。)

■フレーム定義のFRAMEタグには、nameを指定する。
 <FRAMESET rows="30%,*" …>
  <FRAME name="menu" src="ue.html">
  <FRAME name="main" src="shita.html"> → 下側の名前を main にしたら…
 </FRAMESET>

■クリックされた時の処理を、No.2の
 var win = open(page[index], "NewPage", "");
から、
 var win = open(page[index], "main", ""); ← ここも main にする
とする。
補足コメント
garfield

お礼率 66% (26/39)

駄目です。やってみましたがうまく行きません。
No.2の
var page = new Array(   // ページのURL
   'a.html'
  ,'b.html'
  ,'c.html'
);
とありますが、切り替わるページはフレーム定義のページ名(a.html)、だけで、b.htmlとc.htmlのところには何と記述すれば良いのでしょうか。。
素人で申し訳ありません。宜しくお願いします。
投稿日時 - 2002-02-14 17:28:42
  • 回答No.4
レベル14

ベストアンサー率 24% (612/2465)

補足見ました。 なるべく最初にやりたいことを全部書いてください。 ---- フレーム側ソース --- <HTML> <FRAMESET rows="150,*"> <FRAME SRC="ctrl.html" NAME="_header"> <FRAME NAME="_body& ...続きを読む
補足見ました。
なるべく最初にやりたいことを全部書いてください。
----
フレーム側ソース
---
<HTML>
<FRAMESET rows="150,*">
<FRAME SRC="ctrl.html" NAME="_header">
<FRAME NAME="_body">
</FRAMESET>
</HTML>
---
ctrl.html
---
<HTML>
<HEAD>
<script type="text/javascript">
var flag=0;
function viewURL()
{
var _url= ["http://www.yahoo.co.jp/","http://www.goo.ne.jp/","http://www.google.co.jp/"];
t = Math.floor(Math.random()*_url.length);
top._body.location=_url[t];
}
</script>
</HEAD>
<BODY>
<A HREF="javascript:viewURL()"><IMAGE SRC="img1.jpg"></A>
</BODY>
</HTML>
お礼コメント
garfield

お礼率 66% (26/39)

ありがとうございました。
動きます。
文才がなく申し訳ありません。けど、ランクアップできました。
投稿日時 - 2002-02-15 16:20:30
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ