-PR-
解決済み

1クリックで2つの画面を・・・。

  • すぐに回答を!
  • 質問No.38527
  • 閲覧数89
  • ありがとう数3
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 26% (7/26)

ホームページを作るときにフレーム構造の右と左の両方のページを
1つのリンクをクリックしたことで1度に変えたいのですが
どのようにコードを書きこめばいいのでしょう?教えてください。
できなければ“できない”という回答もいただきたいです。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.4
レベル11

ベストアンサー率 61% (157/255)

2つのみならず、3つでも4つでも10個でもできるように、汎用的にしてみましょうか。

まず、以下のソースを、「kjump.js」として保存。

// (C) KOKUCHO81 location.href Jump Function
function jump() {
for(var i=0; i<arguments.length; i++)
{
if (arguments[i].match(/.htm|.cgi/gi))
{
if (arguments[i+1]&&!arguments[i+1].match(/.htm|.cgi/gi))
{
window.open(arguments[i], arguments[i+1]);
}
else
{
window.open(arguments[i], "_self");
}
}
}
}

そして、ジャンプ機能をとりつけるファイル(クリックや操作対象となるファイル)に

<script language="javascript" src="kjump.js"></script>

と挿入します。

あとは、使うだけ。

例えば、今左のフレーム名が"LEFTFRAME" こんど変える.htmlが"LEFT.html"
右のフレーム名が"RIGHTFRAME" こんど変える.htmが"RIGHT.htm" とすると、

<A href="javascript:jump('LEFT.html','LEFTFRAME','RIGHT.htm','RIGHTFRAME')">2つ一気にジャンプ</A>

上のものに加えて、新しいウィンドウまで出したいときには、
<A href="javascript:jump('LEFT.html','LEFTFRAME','RIGHT.htm','RIGHTFRAME',"NEW.html','_blank')">2つ切り替え+1つ新規</A>
などとなります。

また、今いるフレーム名は省くことができるので、今仮にLEFTFRAMEに「OLD.html」が入っていて、ここに2つ一気に書き換えるものを記述するときは、

<A href="javascript:jump('LEFT.html','LEFTFRAME','RIGHT.htm','RIGHTFRAME')">2つ一気にジャンプ</A>

と先ほどと同じ記述で書いても良いですが、'LEFTFRAME'をはぶいて、

<A href="javascript:jump('LEFT.html','RIGHT.htm','RIGHTFRAME')">2つ一気にジャンプ</A>

と書いても良いです。

もちろん、普通のリンクの代わりに使用して、
<A href="javascript:jump('LEFT.html')>普通のリンク</A> や
<A href="javascript:jump('LEFT.html','top')>トップに出す</A>
といった使用法も可能です。
あと、CGIにも対応してます。
<A href="javasciript:jump('LEFT.cgi','LEFTFRAME','RIGHT.htm','RIGHTFRAME)>CGIと混合</A>

どうでしょう。参考になりそうですか?
お礼コメント
cohkoji

お礼率 26% (7/26)

親切な回答をありがとうございました。
非常に分かりやすく、しかもすぐに取りつけることが出来ました。
本当にありがとうございました。
投稿日時 - 2001-02-12 09:38:23
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.2

 えーと、JavaScriptを使います。
 たとえば、

<FRAMESET>
<FRAME NAME=”HTML_A”>
<FRAME NAME=”HTML_B”>

 こういうフレームがあったとします。
 この場合、HTML_A 上にあるフレームから HTML_B の内容を変更するには、HTML_A に、

<SCRIPT>
<!--
function Jump() {
  parent.HTML_B.location.href='HTML_Bの跳び先'
  location.href='HTML_Aの跳び先'
}
// -->
</SCRIPT>

 と入れておき、アンカータグを、

<A onClick=”Jump()”>

 とすればよかったと思います。たしか。


  • 回答No.1
レベル11

ベストアンサー率 46% (145/312)

リンクでやろうと思ったら _topを指定して新しいフレーム構造を作ればいいと思います。
フレームの元にあるページを変更したくない場合は、JavaScriptを使わなければできません。
  • 回答No.3

 失礼しました(^_^;

 下記の方法では出来ないようです(^_^;

 下記の例の HTML_A のソースにおいて、

<script>
<!--
function Jump() {
parent.HTML_B.location.href='HTML_Bの跳び先';
}
//-->
</script>

 JavaScript部にこう。
 アンカーは、

<a href="HTML_Aの跳び先" onClick="Jump()">

 と張ってください。これでいけます。
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ