Onmouseoverで別フレームにメッセージを表示したいのですがどうすればよいのでし ょうか?

[上に] [前に] [次に]
ららら [E-Mail] 2000/01/29(土) 14:52:23
こんにちわ、かなり初心者です。
こちらのページのアラカルトを見て、リンクにマウスを乗せると画像を変えたり、説明を出したりするというのを実戦してみて、無事できたのですが、
「説明を別フレームの、指定した場所に出したい」
という欲望がうまれました。で、やってみようと思ったのですが、なかなかできません。parentというのを、使うらしいという事までは分ったのですが、どこに入れたらできるのでしょうか、、、?
ソースを載せておきますので、御指摘いただけると光栄です。
<html>
<head>
<script LANGUAGE="JavaScript">
<!--
        if (document.image) {
           img1 = new Image(); img1.src = "botan3.GIF";
        }
        function setImage(img, image) {
           if (img) {
              img.src = image;
           }
        }
        // -->
       <!--
       function show(id, flag) {
         if (document.all) {
           document.all.item(id).style.visibility = "visible";
         }
         if (document.layers) {
           document.layers[id].visibility = "show";
         }
       }
       function hide(id, flag) {
         if (document.all) {
           document.all.item(id).style.visibility = "hidden";
         }
         if (document.layers) {
           document.layers[id].visibility = "hide";
         }
       }
       // -->
</script>
</head>
<body bgcolor="#000000" onLoad="msgHide()">
<a href="../top.htm" TARGET="window2" onMouseOver="setImage(document.img1, 'botan3.GIF'); show('id1')" onMouseOut="setImage(document.img1, 'botan1.GIF'); hide('id1')">
<img SRC="botan1.GIF" NAME="img1" BORDER=0 ></a>
<span ID=id1 STYLE="visibility:hidden">
<layer NAME=id1 VISIBILITY="hide">
<b><i><font face="平成角ゴシック">
<font color="#4CC4FF"><font size=+4>『TOP』</layer></span>
</body>
</html>

パル 2000/01/29(土) 15:17:47
今、僕のやっていた事に近いですね(^^ゞ
     ↓表示したいフレームの名前
parent.f_msg.document.write("表示したい文");  //ここで表示
parent.f_msg.document.close();         //writeの後になるべく必要。

で、書けるはずです

parentの後に、文章を表示したいフレームの名前(f_msg)を書き
その後、document.write("ここに、表示したい文章を書く")
で書けます。

write()を使った後に、close()を使わないと、NN系のブラウザで
正常に表示されない事があるので注意して下さい。
write("<CENTER> test </CENTER>")等と、write()で書けるので
場所の指定などは、工夫して見て下さい(^^;;;・・・・・

ららら 2000/01/29(土) 16:29:10
パルさん、早速のお返事ありがとうございます。
がんばってみたんですがぁぁぁ、、、、、(-_-;)
何故でしょ?できません、、、(何故って馬鹿だからか、、、)
私のソースの場合、
parent.window2.document.write("『TOP』");
parent.f_msg.document.close();
と、書くということなのでしょうか、、、?
そうすると、『TOP』以降のソースが一緒に現われちゃうんですけど、、、??
なじぇ?(T_T)

ららら 2000/01/29(土) 16:31:05
↑間違ってました。
parent.window2.document.write("『TOP』");
parent.window2.document.close();
と、書くということなのでしょうか、、、?
そうすると、『TOP』以降のソースが一緒に現われちゃうんですけど、、、??
なじぇ?(T_T)

Mugi [E-Mail] [HomePage] 2000/01/29(土) 17:21:06
サンプル作りました:
変えるのは、レイヤーの非表示のところで、
parent.フレーム名.documet.〜 のようにします。
イメージの変更は、ファイル名の直接指定でしたがnew Image()を利用するようにしました。
その他多数の間違いがありましたが直してあります。
http://hp.vector.co.jp/authors/VA013453/js/000129/frame.htm

ららら 2000/01/29(土) 20:21:03
ありがとうございます!!!
出来ました〜〜〜〜〜〜〜!!!
あ〜、もう、なんと御礼を言っていいやら、、、。

で、、もう一つ宜しいでしょうか。。。。?
説明はフレームをこえて出るようになったのですが、
中央に配置したいのですが、senterを使ってもまん中に出てくれません。そこまでは、できないって事でしょうか?

ららら 2000/01/29(土) 20:22:06
↑また、間違えちゃった、、(-_-;)
そそっかしくて、すみません。
centerを、使ってもまん中に来てくれないのですが、
やり方が変なのでしょうか?

パル [E-Mail] 2000/01/29(土) 20:31:17
らららさん、分かりにくい説明で混乱させてゴメンね(^^;;;
真ん中に表示させたい場合は

document.write("<center> 表示したい文字 </center>");

で、良かったと思いましたが?
う〜ん、もしかしたらスペルミスかもしれませんが(個人的に多い 汗)

Mugi [E-Mail] [HomePage] 2000/01/29(土) 20:48:45
パルさん、writeは使わずレイヤーの表示を切り替えています。
サンプルを更新しました。
普通にcenterタグでできました。

ららら 2000/01/29(土) 21:12:54
[[解決]]
Mugiさん、パルさん
ありがとうございます!
無事、できました。ふ〜〜〜〜。これに、二日も頭を悩ませましたが
早くここへ質問しておけば良かった、、、っていうか、しっかり勉強しろ!って感じですけど、、、。でも、大変勉強になりました。
長々と付き合っていただきまして、ありがとうございました!!!

[上に] [前に] [次に]