Dreamweaverを使ってホームページを作成しているのですが、困ってます。
画像にカーソルインすると別の位置にある画像がさし変わるというのは、同じフレーム内なら「ビヘイビア」の「ナビゲーションバーイメージの設定」で指定すればいいことはわかるのですが、カーソルインする画像とさし変わる画像が別フレームにある時はどうすればいいのでしょうか?
htmlとjavascriptの知識は多少あるのですが、Dreamweaverで上記の設定ができないとなると、直接javascriptを書かなければならないと思っています。
「別フレームの画像を入れ替える」javescriptを知っている方、教えてください。分かりづらい文章で申し訳ありませんが、よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

Dreamweaverでできると思います。


フレームセットファイルごとDreamweaverで開けば、別フレームも一緒に表示されますよね。
で、カーソルインさせる画像と、差し変わる画像全てに名前をつけます。
<IMG SRC="botan.gif" WIDTH="20" HEIGHT="20" NAME="botan1" BORDER="0">
NAME="botan1"のように。
カーソルインさせる大元の画像を選択した状態で、
ビヘイビアパレット--スワップイメージを選択。(Dreamweaver3Jです)
そうすると、別フレームの差し替えたい画像の名前が出てきますので、
それ以降の操作は、同フレーム内での設定と同じです。
詳しいことはマニュアルに載っています。
    • good
    • 0
この回答へのお礼

ありがとうございました。
さっそくアドバイス通り試してみたらできました!
まだまだ勉強不足ですね。もう少しDreamweaverもjavascriptも基礎から勉強し直そうと実感しました。
本当にありがとうございました。

お礼日時:2001/04/17 16:51

JavaScript中のthis.document や this.window というのは、一般的に省略されて


document や windowというように略される。
このためにこのような質問が出ると思われる。

まず、決定的なヒントを書くので、これを参考にしてください。
このしくみを理解すれば、きっとわかるはず。

今、とっぷふれーむをINDEX.HTML、左フレームを「AA」という名前
右フレームを「BB」という名前をつけているとする。
「AA」という名前に対応するのはLEFT.HTML、「BB」という名前に対応するのは、
RIGHT.HTMLとする。

この場合、「BB」フレームに現在表示されているRIGHT.HTMLの中身を書きかえるとき、

「AA」フレームに現在表示されているLEFT.HTMLに以下のように記述する。
-----
parent.BB.document.write("ここの内容は右フレームに記述される");
-----
もしくは、次のように記述しても良いだろう。
top.BB.document.write("ここの内容は右フレームに記述される");

いずれにしても、document操作やwindow操作の「頭」に、「何のなんと言うフレームか?」という情報を記述してやれば良い。

一番目の記述は、「(LEFT.HTMLの親=INDEX.HTML)のBBというフレーム=RIGHT.HTML」という意味となり、
二番目の記述は、「(トップ=INDEX.HTML)のBBというフレーム=RIGHT.HTML」という意味になる。

以上がわかれば、フレーム間操作は自力で何とかなると思う。

このことから、想像がつくかもしれないけれど、親フレームに変数を用意しておけば、異フレーム間の「値」の受け渡しも可能であることがわかるだろう。しかし、それは又、別の物語である。
    • good
    • 0
この回答へのお礼

ありがとうございました。
kokucho81さんの回答を見て、ソフトばかりに頼らず、やはりscriptを勉強しなくてはと実感しております。丁寧な説明、本当にありがとうございました。

お礼日時:2001/04/17 16:48

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

このQ&Aと関連する良く見られている質問

Qインラインフレームから別フレームの背景画像変更

○ページの構造
親ページ
├フレームA
└フレームB - インラインフレームC

○インラインフレームC内ページ
<script type="text/javascript">
<!--
function bgchange(bgname) {
parent.A.document.body.background = bgname;
}
// -->
</script>

<span onclick='bgchange("img.gif");return false'>背景画像変更!</span>




インラインフレーム内の「背景画像変更!」クリックでAフレームの背景画像が変わるようにしたいのですが、
上のスクリプトだとAB間、B→C、でしか機能しません。どなたか手直しをして頂けないでしょうか?

Aベストアンサー

parent.parent.A.document.body.background = bgname;
または
top.A.document.body.background = bgname;
としてみてください。

QJavaScript フレーム内のインラインフレームへのリンク

こんにちは

JavaScriptを使って、セレクトメニューのリストから選択すると、同ページ内にあるインラインフレームにページが展開するようにしたいのですが行き詰ってしまったので質問させてください。

・問題点
下記のようにJavaScriptの記述をしているのですが
ブラウザで開いて見ると、「更新情報6月」などを選択しても、もともと開いているページが表示されたままで別のページが開きません。

・ファイル構成
index.html(フレームセット)
 -menu.html(フレーム名 menu)
 -main.html(フレーム名 main)

 new.html(indexを開いた時に表示されているページ)
 new6.html(更新情報6月をクリックすると開いてほしいページ)
 new5.html(更新情報5月をクリックすると開いてほしいページ)

main.htmlの中にインラインフレーム(name=myNew)
とセレクトメニューがあります。

こちらの過去ログを見たりして記述することが出来たのですが、main.htmlを単体で開いた場合は動作してindex.htmlで開いた場合は動作しないようなのです

「parent.myNew.」がいけないのかなと思うのですが
JavaScriptの細かいことが分からないので
どうしたら良いのか・・・
parentを消したり、thisにしたりしてみたんですが
うまくいきませんでした。

どなたかアドバイスをお願いいたします

----- 記述内 ------------
<select onChange="parent.myNew.location.href=this.options[this.selectedIndex].value">
<option value="" selected></option>
<option value=new6.html>更新情報6月</option>
<option value=new5.html>更新情報5月</option>
</select>

<iframe src="new.html" name="myNew" width="250" height="400"></iframe>

こんにちは

JavaScriptを使って、セレクトメニューのリストから選択すると、同ページ内にあるインラインフレームにページが展開するようにしたいのですが行き詰ってしまったので質問させてください。

・問題点
下記のようにJavaScriptの記述をしているのですが
ブラウザで開いて見ると、「更新情報6月」などを選択しても、もともと開いているページが表示されたままで別のページが開きません。

・ファイル構成
index.html(フレームセット)
 -menu.html(フレーム名 menu)
 -main.html(フレ...続きを読む

Aベストアンサー

window.self.myNew.location.href=this.options[this.selectedIndex].value

これで充分だと思います。


object window :ウインドウオブジェクト(ウインドウやフレームの総称)を示す。
object window.parent :ウインドウ内のフレームの親フレーム。親がいない場合は自分自身を示す。
object window.self :現在のウインドウ自身。(既定値と思われる)
object window.top :一番手前(トップ)にあるウインドウ。
object window.self.location :アドレス(URL)に関する情報を持つ。
string window.self.location.href :URL。
object window.self.document :表示している文書自体を示す。
object window.self.document.all() このドキュメント中のすべてのエレメントを参照する。
[注意:document.all() は、IE4 以降やOperaは対応。Mozillaなどは対応していない。]
object window.self.document.getElementById() :id 属性で指定した名前で要素を参照する。
[注意:やはり一部のブラウザのみ対応。]
array window.self.document.layers :layerに関する情報を提供したり、操作を行うオブジェクト。
[注意:ネスケおりじなる・・・。]
よってこれらは、
if(window.self.document.getElementById){
}else if(window.self.document.all){
}else if(window.self.document.layers){
};
と存在チェックをして振り分けをしてそれぞれを用いるべきです。
出来たらこれを関数として用意しておくと便利です。


理想はそれぞれ存在チェックをして処理を振り分けですが、そこまでする必要があるのかはよく判りません。
まぁ知識の上ではそれが理想で
現実では最初に提示した方法だけでも充分かと・・・。

window.self.myNew.location.href=this.options[this.selectedIndex].value

これで充分だと思います。


object window :ウインドウオブジェクト(ウインドウやフレームの総称)を示す。
object window.parent :ウインドウ内のフレームの親フレーム。親がいない場合は自分自身を示す。
object window.self :現在のウインドウ自身。(既定値と思われる)
object window.top :一番手前(トップ)にあるウインドウ。
object window.self.location :アドレス(URL)に関する情報を持つ。
string window.self...続きを読む

Q別フレームへのリンク文字上で、カーソル表示を指に変えたい

以下のようなフレーム3分割されたページで、
--------
1 | 2
 | 3
~~~~~~~~
1のフレーム上の文字リンクをクリック時に、2へ新しいページを表示させています。
(現在のコードは以下の通り)
<A Onclick='window.parent.frames.upperbody.document.location.href="2.aspx"'>リンク文字</A>
ここで、リンク文字をマウスオーバーした際に、カーソルを指の形に変えたいのですが、どのようにすればよいのでしょうか。
試行錯誤でタグを<A href=に変えたものの、リンク先が認識されずエラーとなってしまい困っています。

恐れ入りますが、ご教示の程宜しくお願い致します。

Aベストアンサー

<A href="2.aspx" target="2のname">
でうまくいきませんか?

Qマウスカーソルを画像や文字に重ねるとカーソルのすぐ右下に画像を表示する

マウスカーソルを画像や文字に重ねるとカーソルのすぐ右下に画像を表示するようにしたいのですが、どのようなHTMLタグやjavascriptを使えばいいですか?

Aベストアンサー

4つ上の質問と似ていますね。
 http://oshiete1.goo.ne.jp/qa4606506.html
そこで質問されているライブラリを利用すれば、比較的簡単かと…

残念ながら、ライブラリのHPがつながりませんが、サンプルページが残っていましたので
 http://boxover.swazz.org/example.html​

QJavaScriptから別フレームのasp出力ドキュメントにアクセスできません。

まず以下のソースをご覧ください。

[index.html]
<html>
<frameset cols=50%,*>
<frame src="frame01.html">
<frame src="frame02.asp">
</frameset>
</html>

[frame01.html]
<html>
<head>
<script type="text/javascript">
<!--
function insertText(){
parent.frames[1].document.myform.mytext.value = "テスト";
}
// -->
</script>
</head>
<body>
<form>
<input type="button" value="出力" onclick="insertText()">
</form>
</body>
</html>

[frame02.aspにより出力されたソース内の記述]
<html>
<head>
</head>
<body>
<form name="myform">
<input type="text" name="mytext">
</form>
</body>
</html>

frames[0]のボタンを押すとframes[1]のテキストフォームに"テスト"が出力されるようにしています。
frame02.aspが静的なHTMLだった場合は問題なく動作するのですが、aspによって出力されたhtmlではエラーになってしまいます。
これはフォームに対する操作だけでなく、document.write()等のあらゆる操作に該当します。
当方はaspのことは全くわからず、またこのaspの中身を書き換える権限もありません。あくまで出力された結果に対して動的に操作を加えたいのです。

原因としては次のようなものを考えました。
・aspドキュメントのパスに対してアクセス権限が無い。
・aspもしくはCGIの実行によってもたらされたHTMLに対してはスクリプトは動作しない。
・実際の出力結果のヘッダにはJavaScriptが記述されており、これが何らかの影響を及ぼしている。
・事前にスクリプトから操作を受けないようにプロテクトされている。

ご助力を願えれば幸いです。

まず以下のソースをご覧ください。

[index.html]
<html>
<frameset cols=50%,*>
<frame src="frame01.html">
<frame src="frame02.asp">
</frameset>
</html>

[frame01.html]
<html>
<head>
<script type="text/javascript">
<!--
function insertText(){
parent.frames[1].document.myform.mytext.value = "テスト";
}
// -->
</script>
</head>
<body>
<form>
<input type="button" value="出力" onclick="insertText()">
</form>
</body>
</html>

[frame02.aspにより出力さ...続きを読む

Aベストアンサー

上記を確認してみました。
残念ながら普通に動作します。
>・aspドキュメントのパスに対してアクセス権限が無い。
出力結果には関係ない(サーバーで動作するわけではないので)

>・aspもしくはCGIの実行によってもたらされたHTMLに対してはスクリプトは動作しない。
もちろん普通に動作します。
>・事前にスクリプトから操作を受けないようにプロテクトされている。
出力結果が質問どおりの場合、これらは考えられません。


・実際の出力結果のヘッダにはJavaScriptが記述されており、これが何らかの影響を及ぼしている。

実際のaspの出力結果自体に問題があると思われます。
エラーの理由はわからないんでしょうか?
おそらく下部のステータスバーにエラーが出ていると思うのですが・・。


人気Q&Aランキング

おすすめ情報