画面ロード時に、別フレームの関数(クリック時に画像を変える関数)を実行したいんですけど、どうやって書いたらいいのでしょうか?
ハイパーリンクに別フレームの関数を実行させるものはありましたが・・・。
もしくは、ロード時に別フレームの画像を変えるスクリプトでもいいです。

よろしくお願いいたします。

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

A 回答 (1件)

JavaScriptの関数を呼ぶときにオブジェクトの階層構造を全部書いてもだめですか?



window.parent
とか
window.top
などのオブジェクトを使って、フレームセットを定義しているページのオブジェクトにアクセスします。

たとえば、ロードしたページの親フレームセットで、
ロードしたページがleft、関数changeImg()のあるページがrightとNAME属性を定義されていたとしたら、
BODYのonLoadイベントでwindow.parent.right.changeImg()を呼んであげればいいと思います。

この回答への補足

早速の回答、ありがとうございます。

おっしゃるとおり、onRoadイベントに書いたのですが、
window.top.right.changeImg(引数いっぱい)

window.top.rightがNullだというエラーが出てしまいます。
2段フレームなので、
window.parent.parent.right.changeImg(引数いっぱい)

ってことなのかな?

補足日時:2001/10/26 17:22
    • good
    • 0
この回答へのお礼

ああ、すみません。
下の構文でちゃんとできました。

window.top.right.changeImg()

ありがとうございました。

お礼日時:2001/10/26 17:49

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

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

Q ヽ(^。^)ノ ワードの「書式」→「フレーム」のことで……これで小さな枠を作っても、テキストボックスのような働きはしない?

 WindowsでWord2000を使ってます。
 「書式」の「フレーム」を開いて、新しいフレーム(上)とか新しいフレーム(左)とか、いろいろクリックすると、画面が細かく分割されます。そのフレームをマウスで移動させることもできて、おもしろいんですが、そうしてできた小さな枠のなかに文字を打って印刷しても、フレームは現われず、小さな枠のなかで3行で書いた文章も、印刷しますと1行になって出てきます。
 フレームで作った小さな枠には、「図形描画」の「テキストボックス」のような機能はないんでしょうか?
 そういう機能がないと、せっかくのこのフレーム、あまり意味がないと思うんですが?
 それとも、私のパソコンかプリンタの調子がわるいんでしょうか?

Aベストアンサー

ワードのフレーム機能は、複数の文書ファイルを1ページ内で
表示ための機能です。
フレームで区切られた領域は、それぞれ別の文書ファイルとして保存されます。

例えば、「文書1」というファイルを立ち上げてフレームをいくつか作ってみてください。
それぞれのフレームに、短い言葉(1,2,3とか亜、い、うなど)
を記入して保存します。
すると、「文書1」ファイルがあるフォルダに入力した文字と同じ名前の
文書ファイルがフレームの数だけ作られます。

あらかじめ作っておいた文書を好きなフレームに表示させることもできます。
任意のフレーム内で、右クリックからフレームのプロパティを選ぶと
参照(リンク)するファイルを選択できます。

ただ、印刷時はすべてのフレームを印刷することはできません。
アクティブな(カーソルがある)フレームが印刷対象になります。

ではこれは何のための機能なのか?
実はホームページを作成する為の機能のようです。
実際、名前をつけて保存から「Webページ」を選択すれば、
次回からは、ブラウザで開くことができます。
ブラウザ上ならば、すべてのフレームを一括印刷することができるので
yumi18さんの希望通りに印刷できると思います。

テキストボックスとしての機能はありませんが、
この面白さと、テキストボックスとしての機能を同時に求めるのなら
エクセルなどの表計算ソフトをお勧めします。

ワードのフレーム機能は、複数の文書ファイルを1ページ内で
表示ための機能です。
フレームで区切られた領域は、それぞれ別の文書ファイルとして保存されます。

例えば、「文書1」というファイルを立ち上げてフレームをいくつか作ってみてください。
それぞれのフレームに、短い言葉(1,2,3とか亜、い、うなど)
を記入して保存します。
すると、「文書1」ファイルがあるフォルダに入力した文字と同じ名前の
文書ファイルがフレームの数だけ作られます。

あらかじめ作っておいた文書を好きな...続きを読む

Q一定時に画像を変え、その画像にリンクを貼るというスクリプトを改造したいのですが

こんにちわ。javascriptはほとんどわかりません。既成のものをHTMLにうめこんだり、スクリプトのHTMLタグ部分を変えたりできる程度です。

今回やりたいのは、数分後に画像を変え、その画像にリンクを貼るというものですが、サンプルであったjavascriptは別ウインドウにリンクを出すというものです。これを別ウインドウではなく、そのままのページにリンク先を表示させるには、どう変えたら良いでしょうか?

http://bunjin.com/java/chang_banner2.html

こちらのjavascriptです。

先述したように、初心者です。理論で教えていただいてもわからないので、できれば具体的に教えていただけると大変助かります。あつかましくて申し訳ありませんが、どなたかお助け下さい。よろしくお願いします。

Aベストアンサー

質問者様が見つけてこられたサンプルのJavascriptを、少しだけ書き換えると出来るかもです。

こんな感じでしょうか。

---------------
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
var item = 0;
function change_IMG() {
item += 1;
if (item > 3) item = 0;
if (document.img.complete) {
if (item == 0) {
document.img.src = "yahoo.jpg";
}
if (item == 1) {
document.img.src = "msn.jpg";
}
if (item == 2) {
document.img.src = "google.jpg";
}
if (item == 3) {
document.img.src = "infoseek.jpg";
}
}
changeLINK();
setTimeout("change_IMG()",5000);
}
function changeLINK() {
if (item == 0) {
document.all['myLINK'].href = "http://ヤフー";
}
if (item == 1) {
document.all['myLINK'].href = "http://エムエスエヌ";
}
if (item == 2) {
document.all['myLINK'].href = "http://グーグル";
}
if (item == 3) {
document.all['myLINK'].href = "http://インフォシーク";
}
}
//-->
</SCRIPT>

</HEAD>
<BODY onLoad="change_IMG();">
<a id="myLINK" href="http://ヤフー">
<img src="yahoo.jpg" NAME="img" border="0">
</A>
</BODY>
</HTML>
---------------


setTimeout("change_IMG()",5000);
↑この部分は、5秒後に change_IMG() を実行するということです。
1秒 = 1000 なので、もし、1分経過するたびに画像とリンク先を変更したいのであれば、
5000 を 60000 に書き換えます。

質問者様が見つけてこられたサンプルのJavascriptを、少しだけ書き換えると出来るかもです。

こんな感じでしょうか。

---------------
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
var item = 0;
function change_IMG() {
item += 1;
if (item > 3) item = 0;
if (document.img.complete) {
if (item == 0) {
document.img.src = "yahoo.jpg";
}
if (item == 1) {
document.img.src = "msn.jpg";
}
if (item == 2) {
document.img.sr...続きを読む

Q画像の枠にオシャレなフレームをつける事ができるサイト

よろしくお願いいたします。

私は今までブログに写真をUPする際は、「CURURU」というサイトで画像の枠にフレームをつけるオプションを利用していたのですが、残念な事にCURURUが今月末で閉鎖してしまう為、他のサイトや無料ソフトで画像にフレームをつける事ができる場所を探しております。

できれば少しオシャレなフレームなどがあるサイトだと嬉しいのですが。。><
過去の質問も検索し拝見させて頂きましたが、探しているようなサイトやソフトの紹介がなく質問させて頂きました。
大変困っております。。
どなたか分かる方がいらっしゃいましたら教えて頂けませんでしょうか?
よろしくお願いいたします。

*現在使用しているフレームの画像を添付いたします。

Aベストアンサー

サイトについては(閉鎖されてる可能性もあるので)紹介できませんが、
ソフトについては何度も回答している一つ覚え的なものですが紹介することはできます。

【PhotoScape】などはいかがでしょうか。
http://freesoftdownload.1-yo.com/image-editor/photoscape.html
紹介記事を書いているサイト
http://postcard.sakura.ne.jp/PhotoScape.html

添付した画像は、質問に添付したものを真似て加工したものです。

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;
としてみてください。

QHP作成のヒント。これってフレーム?枠?

ホームページ作成しようと思っているのですが・・・

http://ip.tosp.co.jp/i.asp?i=milk_marie

こんな風にしたいのですがこれってフレームでしてるのでしょうか。フレームではなく、枠ですか?

こんな感じで周りがピンクの枠でその中にスクロールバーを入れて、バック固定でしたいのですが、タグ等分かりましたら教えてください。
あと、こんな感じのタグが沢山あるサイトさんがあれば教えてください。イラスト素材ではなく・・・

ちなみにこのサイトさんは通りがかりで見つけたものですので参考までに・・・

Aベストアンサー

Javaはの知識はあまりないですが、そんなの使わなくても再現可能です。
ちなみにフレームでもできますが、そうでない方法を紹介します。

スタイルシートは分かりますか?
<style type="text/css">
<!--
body { border-width:20px; bordercolor:#ffcc99; border-style:solid;}
-->
</style>

これをヘッダーの中に埋め込みます。

URLを貼っておきます。
これは参考になると思います。

ちなみに今紹介したのは、最下部「その他の小技」の「ページを枠で囲む」という項目に載っています。

参考URL:http://hp.xrea.jp/m/index.html

Q他のフレームのスクリプトを実行させたい

フレームを左右に分割しています。
左フレームの数値を変えるselect optionがあって、その数値の変更によって右のフレームのスクリプトを実行させたいのですが、どのようにするのでしょうか?

-----------左フレーム-------------
<script>
function keisann(){
//計算部分
//右フレームへ変数の引き渡し
//右フレームのスクリプトの実行____ここの記述がわかりません。
}
var i,ht =[],d;
i=0;
d=50;
ht=new Array;
ht[i] = '<select onChange="keisann()" id="s_yoko">';
for( var i=0; i<=100;)
ht[i] = '<option value='+i+(i==d?' selected':'')+'>'+(i++)+'</option>';
ht[i] = '</select>';
document.write('横寸法 = ', ht.join(''),'<BR>');
</script>

フレームを左右に分割しています。
左フレームの数値を変えるselect optionがあって、その数値の変更によって右のフレームのスクリプトを実行させたいのですが、どのようにするのでしょうか?

-----------左フレーム-------------
<script>
function keisann(){
//計算部分
//右フレームへ変数の引き渡し
//右フレームのスクリプトの実行____ここの記述がわかりません。
}
var i,ht =[],d;
i=0;
d=50;
ht=new Array;
ht[i] = '<select onChange="keisann()" id="s_yoko">';
for( var i=0; i<=...続きを読む

Aベストアンサー

top.right.test_func('hello');

Q枠がないフレーム

よく他のホームページで枠がないフレームがありますが
あれはどうやってプログラムを作ればよいのでしょうか?
このサイトも枠がないのですが、いわいるこんな感じです

Aベストアンサー

<frame border="0">
のことでしょうか。

フレームについては以下のサイトに詳しく載っています。

参考URL:http://papa345.hp.infoseek.co.jp/www/wwwreffr.htm

Q画像にカーソルインしたら別フレームの画像を入れ替えたいを

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

Aベストアンサー

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

QPhotoshop6.0木枠のフレームは?

http://dospara.okwave.jp/qa2849925.html
の質問の続きですが、確かにフレームはできました。
しかし木の枠みたいな、フレームの作成はPhotoshop6.0では無理ですかね!
宜しくお願いいたします。

Aベストアンサー

技量次第で何でもできるソフトです。
写真素材のテクスチャがあればそれを利用しても良いですが、無いなら自分で作成できます。
作成した画像を縦横に配置すればフレームが完成します。

http://www.furuoka.com/photoshop/text_wood_04.html

Qスクリプトタグ外での関数がなぜ実行されるか

たとえばイベントハンドラーなどで、
onClick="alert('test')"
などと書くと思いますが、このalert()は、JavaScriptの関数であるにもかかわらず、なぜスクリプトタグ外に記載されていても動作するのでしょうか。

Aベストアンサー

>>このalert()は、JavaScriptの関数であるにもかかわらず、なぜスクリプトタグ外に記載されていても動作するのでしょうか。

私も、JavaScriptを記述するとき、「なんでこんなのが動作するの?」と疑問に思っていました。
「JavaScriptは、JavaやC++などのオブジェクト指向言語よりも低機能のスクリプト言語」と思っていたのですが、実際には、”伝統的な(古い!)オブジェクト指向プログラミング”よりも進んだ”メタプログラミング”の考え方が入っているようです。
メタプログラミングとは、実行時にプログラムの解釈(コンパイル)をするだけでなく、プログラム自体を生成&解釈&実行するような機能のことを言うようです(もっと違う意味を表すこともあるようですが・・・)

なので、JavaScriptのタグ外にある"alert('test')"も、HTML DOMとJavaScript DOMが協力して、この文を実行時に解析し、実行しているってことのようです。

P.S.
どうもプログラミング言語の世界では、OOP(オブジェクト指向プログラミング)ってのは、ちょっと古い考え方になっているようです。”まず、何をクラスにすればいいか?それが問題だ!”的な考えの時代があったのですが、現在は、「クラスなんて無くてもいいじゃん!手早く問題を解決できる方法があれば、それを使えば良い」って考え方になっているように思います。

JavaScriptやRubyは、そういう方向で流れているようですし、C#もそういう方向で進化しているといいます。
オブジェクト指向プログラミングよりも新しい概念のメタプログラミングを学ぶ必要があるようです。

>>このalert()は、JavaScriptの関数であるにもかかわらず、なぜスクリプトタグ外に記載されていても動作するのでしょうか。

私も、JavaScriptを記述するとき、「なんでこんなのが動作するの?」と疑問に思っていました。
「JavaScriptは、JavaやC++などのオブジェクト指向言語よりも低機能のスクリプト言語」と思っていたのですが、実際には、”伝統的な(古い!)オブジェクト指向プログラミング”よりも進んだ”メタプログラミング”の考え方が入っているようです。
メタプログラミングとは、実行時にプログ...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング