アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちわ。

一つのページにiframeが二つあるのですが、
そのうちの一つのiframe内のリンク文字をマウスオーバーすると、もう一つのiframeに画像が表示されて、
マウスアウトすると元の画像に戻るようにしたいのですが、
そのように出来るのでしょうか?
ご存知の方、いらっしゃれば、
その書き方を教えて下さい!
よろしくお願いします。

A 回答 (2件)

こんばんは。


一応参考URLを元に作ってみました。

●画像が表示されるiframeを「a」、リンク文字を表示するiframeを「b」として説明します。

まずaフレームに
<IMG SRC="画像の名前" ALT="○○" WIDTH="画像の幅" HEIGHT="画像の高さ" NAME="def">
を<BODY>内に記述します。

次にbフレームなんですが、とりあえず参考URLのソースを全てコピーして貼り付けて下さい。
次にそのソースから下記の記述を消去して下さい。
●<BODY>~</BODY>内の
<IMG SRC="image/start.jpg" ALT="START" WIDTH="150" HEIGHT="100" NAME="def">

次にソースに付け足す部分です。
●<HEAD>~<HEAD>内の
// ポイント時の処理
function On(name) {

if (document.images) {
document.images['def'].src = eval(name + '.src');
}
↑document.images['def'].src = eval(name
ってありますよね?
そのdocumentの前にparent.a.と付け足して下さい。
parent.a.document.images['def']~
↑みたいに。
parent.a.の<a>とはフレームのnameです。<a>は質問者さんが指定したフレーム名に変えて下さい。ココでは画像が表示されるフレームを<a>としてるので、<a>とします。
●同じく<HEAD>~<HEAD>内の
// 放した時の処理
function Off() {

if (document.images) {
document.images['def'].src = img0.src;
}
もdocumentの前にparent.aと付け足して下さい。

以上で表示されるかと思います。
簡単なフレームページを作ってみたんですけど、表示されました。
あと<BODY>~</BODY>内の
<A HREF="change3.html" onMouseOver="On('img1')" ~
change3.htmlはJavaScript:void(0)に変えてもイイかと思います。クリックしてリンクを貼る場合は、○○.htmlに変えて下さい。

常に表示されてる画像は<// 通常の画像>を、一枚目、二枚目、三枚目は<// ポイント時の画像1・2・3>の青い文字の所を好きな画像の名前に変えて下さい。

このくらいかな。頑張って下さい。

参考URL:http://www.tagindex.com/javascript/link/change3. …
    • good
    • 0
この回答へのお礼

この方法で思い通りに動かせました。
更に文字列にリンクを貼ることを質問し忘れていたのですが、
そこまで、気がついて下さってホントにありがとうございました。
助かりました!

お礼日時:2005/02/20 03:15

仮に、iframeを2つ持つ側のファイルをindex.htmlとでもしておき、リンク文字を持つ側のファイルをiframe.htmlとしておきます。



index.htmlがわで、当然のように、一方のiframeは
<iframe src="iframe.html">リンク文字ある方</iframe>
で、画像表示側のiframeはidとnameをつけておきます。例えば、IF2とする場合、
<iframe id="IF2" name="IF2">画像表示用</iframe>

で、iframe.htmlのアンカータグ(<a>)を、
<a href="#" onclick="return (false);" onmouseover="window.parent.document.getElementById('IF2').src = '表示する画像のパス';" onmouseout="window.parent.document.getElementById('IF2').src = '元画像のパス'">リンク文字</a>
としておけば動きませんか?
私はどうにか動いてましたが、、、、

これはソースが長くってかったるいんで、
function ChangeImage(path){
window.parent.document.getElementById('IF2').src = path;
}
とでもしておいて、
onmouseover="ChangeImage('表示する画像のパス');"
onmouseout="ChangeImage('元画像のパス');"
とでもいた方が他のことにも使えて良いと思いますが、、、

これで動作しますかねぇ。。。。
    • good
    • 0
この回答へのお礼

この方法で試して、質問のとおり動きました。
全然javascriptの知識がないのに、
ホムペ作りを手伝わされている私なのですが、
この方法も今後使う機会が出てくると思います。
助かりました~。
ご指南ありがとうございました!

お礼日時:2005/02/20 03:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!