• 締切済み

リンクにマウスポインタが触れると、別フレームにリンク先が表示するには?

リンクにマウスポインタが触れると、別フレームにリンク先が表示するにはどうすればイイのでしょうか? クリックするのではなく、マウスポインタが触れるだけでそうなるようにしたいのですが、誰か教えていただけませんでしょうか? 私は今HTMLのタグ打ちでHPを作成しています。 ◆◆◆menu.html◆◆◆ <body> <a href="javascript:void(0)" onmousedown="func(this, '​http://www.yahoo.co.jp',​ 'hidari')" onmouseover="func(this, '​http://www.google.co.jp'',​ 'ue')" onmouseout="func(this, '​http://jp.msn.com/'',​ 'ue')"><img src="gazou.bmp" border="0" ALIGN="middle"></a> <script language="JavaScript" type="text/javascript"> function func(obj, url, target) { obj.href = url; obj.target = target; obj.click(); } </body> 画像を押下した時に「hidari」フレームにヤフーを表示。 マウスが画像に触れた時に「ue」フレームにグーグルを表示。 マウスが離れた時に「ue」フレームにMSNを表示。 こうしたいのですが、画面は切り替わるのですが、表示したいURLが表示されません。 何か足らない部分があるようなのですが、教えていただけませんでしょうか? ※ 当方かなり初心者のため、面倒臭がりでタグを省略したり、省き省き教えるような方は、その都度質問しなきゃいけなくなり、必要以上にご迷惑をおかけしてしまい、手間がかかってしまうため遠慮いたします。

みんなの回答

  • 15mm
  • ベストアンサー率65% (65/100)
回答No.4

むぅ・・・私の想像が違うのでしょうか。 フレーム構造定義ページのソースを見せてもらっていいですか? <frameset>タグの入ってるものです。 それとも<iframe>でしょうかね? そもそもどこでエラーが起きているのか調べてみてください・・・ そうすれば原因はすぐに分かるはずです。

  • 15mm
  • ベストアンサー率65% (65/100)
回答No.3

すいません、長らくフレームを使ったページは避けていたので基礎の基礎を忘れていました。 フレームですよね。 最上階のフレームから参照しないとだめですよね。 こんどはちゃんと動作確認してます。IE8 <script></script>内を書き換え function func(url, target) { top.window[target].location.href = url;//topのウィンドウからの参照。基礎だったはず・・・ } ちなみにこのサイトの使用上URL周辺に見えない変な文字が入ってますが削ってください。

toaruindex
質問者

お礼

ホントすみませんm(_)m でも動作確認してるんですよね? 私のやり方が悪いのかなぁ… 普通にコピーしてurlとフレームのname変えてるだけなんですけど(--;)

  • 15mm
  • ベストアンサー率65% (65/100)
回答No.2

初心者とおっしゃっているのに回答が大雑把すぎましたね・・・申し訳ありません。 それと、googleとmsnのところに'が一つ多くて、このスクリプトエラーが主たる原因だったようです。 とりあえず書き換え後のソースは、 <body> <a href="javascript:void(0)" onmousedown="func('http://www.yahoo.co.jp','hidari')" onmouseover="func('http://www.google.co.jp','ue')" onmouseout="func('http://jp.msn.com/','ue')"> <img src="gazou.bmp" border="0" align="middle"></a> <script language="JavaScript" type="text/javascript"> function func(url, target) { window[target].location.href = url; } </script></body> </script>の欠如もスクリプトエラーの原因です。 どう変わったかというと、func関数を主に書き換えました。 window[target] で、「ue」フレーム・「hidari」フレーム というのを参照しています。 window['ue']、window['hidari']のような感じで名前のついたウィンドウ・フレームを操作できます。 .location.href = url で、上記で得たフレームが表示するURLを書き換えます。

toaruindex
質問者

お礼

大変わかりやすい説明ありがとうございます!m(_)m ですが…動きません(--;) 最初のやり方では反応はしてたのですが、15mmさんに教わった内容にしたら、フレームが反応すらしませんでした(--;)

  • 15mm
  • ベストアンサー率65% (65/100)
回答No.1

たぶんreturn false;の欠如でhref="javascript:void(0)"が実行されてしまった結果かな?と推測。 もっと簡潔に function func(url, target) {//obj は受け取らない(不要) window[target].location.href = url; } でどうでしょう?

toaruindex
質問者

お礼

ご回答ありがとうございます! でもすみません。 ちょっと意味がわかんなくて… ドコをどのように変えればイイのですか?