WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:第1ウインドの選択画像のurl基にして、第2ウインドに・・

野口 [MAIL] [URL] [WriteDate : Wed May 16 20:08:20 2001]

現在、第1ウインドにて、小さい132個の画像のうちの6画像/項表示しています。その画像の1つをクリックすると、第2ウインドの第1/2フレームに拡大画像ファイルを表示するようにして、その第1フレームには第2ウインドを閉じるボタンを設置しようと考えています。
また、第2ウインドウの第2/2フレームには1/2フレームの画像のコメントを表示する予定です。

現在のところ、第2ウインドには第1/2フレームのみの状態なので、第1ウインドの選択画像のurl基にして、拡大画像のurlパスのディレクトリー名をリプレースして
win_name.document.open();
win_name.document.write("<html><head>");
・・・・・・
nwin.document.write("<img src="+filename+" border='0'>");
・・・・・・画像数が多くなるために各画像数に対応してhtmlを作成できないため上記のようにしていますが、
第2ウインドをフレーム分割する場合、第1/2フレームに、第1ウインドの選択画像のurl情報を参照して第2ウインドを1/2フレームに、拡大画像ファイルを表示する方法が思い浮かびません。(132本のhtmlファイルを作成すれば可能ですが)
第1ウインドの選択画像のurl情報を参照する方法がわかりません。このurl情報を参照する方法を御教授頂けないでしょうか。
また、上記以外の方法も教えていただけないでしょうか。
よろしくお願いします。


ちゃいぱ [WriteDate : Thu May 17 10:14:49 2001]

第1/2フレーム
第2/2フレーム
1/2フレーム
とか、よくわからないです。
ポイントを押さえて教えてください。


野口 英揮 [WriteDate : Thu May 17 18:15:00 2001]

説明不足でと言うか、適切な説明ができずに申し訳ありません。
1/2、2/2フレームとは、第2ウインドウを上下2つにフレーム分割した上のフレームを1/2フレームとして、2/2とは下のフレームをさすつもりで記入しました。
要するに、第1ウインドに小さな画像を表示して、その画像をクリックしたら、第2ウインドの上のフレームに大きな画像を表示して、下のフレームにその画像の説明文を表示させられたらと考えています。
クリックされた小さい画像の情報(ファイルネーム)を第2ウインドの上フレームに渡したい。また下のフレームのにも渡してジャンプするアンカー先を示すキーワードにできればと考えていますが、
第1ウインドから情報を第二ウインドの各フレームに渡す方法がわかりません。
説明力不足で申し訳ありませんが、御教授頂けないでしょうか。


野口 [WriteDate : Thu May 17 18:26:18 2001]

追加説明を加えさせていただきます。
下記アドレスにて「徳島の風景132PHOTO」を選択して頂いて、表示された画面に小さな6枚の写真のどれかをクリックしていただくと、
別ウインドに大きな写真が表示するようにしていますが、その大きな写真の下に写真の説明文を表示するようにしたい。
その方法を御教授頂けないでしょうか。
よろしくお願いいたします。


野口 [WriteDate : Thu May 17 18:28:13 2001]

すみませんアドレスです
http://www.noguchi-web.com/tokusima.htm
です。


Nobu3 [URL] [WriteDate : Fri May 18 02:30:53 2001]

もし、私が同じような事をやるなら、

1.画像ファイルは「地域名i番号.jpg」にする。
2.呼出しファイルは「地域名.htm」にして、「地域名.htm#i番号」で上フレームを呼び出す。
3.「地域名.htm」には「location.hash」を読み取り、「document.write()」で「地域名i番号.jpg」を表示するスクリプトを書いておく。
4.解説ファイルは「地域名kaisetu.htm」とでもしておき、「3」の処理中に下フレームを(やっぱり)「地域名kaisetu.htm#i番号」で呼び出す。
5.こっちも「3」と同じようにする。

のようにやるかもしれません。


野口 英揮 [WriteDate : Fri May 18 06:31:28 2001]

ご回答有り難うございます。
申し訳ありませんが、下記の内容について、知識不足で理解できません、詳しくお教えいただけないでしょうか。
お願いします。
>3.「地域名.htm」には「location.hash」を読み取り
”「location.hash」を読み取り”の読み取りの部分をご説明頂けないでしょうか。


野口 英揮 [WriteDate : Fri May 18 06:49:23 2001]

参考文献などを読んでいると、たぶん以下の内容ではないかと思いました。

var アンカー=location.hash;
i=アンカー;//このiを地域名i番号.jpgに取り込む
早速作成してみます。
ありがとうございました。


野口  [WriteDate : Sat May 19 17:58:02 2001]

Nobu3さんのご提案を基に、自分なりにやってみましたが、どうもうまくいきません。問題のファイルアドレスです。
http://www.noguchi-web.com/minoluta/fukei/fukei-nn.htm
同ディレクトリーにフレームに読み込むファイルとして
fukei_np.htmとcommentf.htmを置いています。

まず、新しいウインド上の上フレームの、画像ファイルを表示させることはできるのですが、下のフレームの解説文にダイレクトにジャンプさせるべく、
nwin.document.write("<FRAMESET rows='520,*' frameborder='no' framespacing='' border='0'>");
nwin.document.write("<FRAME SRC='fukei_np.htm#"+filename+"' NAME='phoframe1' marginheight='0' SCROLLING='no' NORESIZE>");
nwin.document.write("<FRAME SRC='commentf.htm#"+filename+"' NAME='phoframe2' SCROLLING='no'>");
のようにcommentf.htmのアンカーfilenameにダイレクトにジャンプさせようとしましたがうまくいかず、また上のフレームと同様にしてみましたがこれもうまくいきませんでした。どの様にすれば良いかアドバイス頂けないでしょうか。

もう一つ問題があります。上記のウインドをクローズしたあと、別の画像を選択してクリックするとエラーになり、更新して初めからすると1回目はどの画像でも新しいウインドに表示できます。
何がどの様に悪いのやら混乱している状態です。
ディバッグをお願いしているようで申し訳ありませんが
お助け下さい。




Nobu3 [URL] [WriteDate : Mon May 21 15:00:28 2001]

えーっと。まず、グローバルな変数が多くて、全体がよくわかりません。

一応Win98+IE5.5で見た結果を書いてみます。
とりあえず、2度目のクリックでエラーというのは、関数の「f_name()」が解釈できないようです。変数名と関数名が同じなのが原因なのかな?わかりませんが。
今回の例では、関数の呼出しに「引数」を使えば良いので、もう少し変更してみてもいいかも。
たとえば、
onclick="newurl('009')"
で、「009」が文字として受けられる(もちろん受け皿は必要ですが)ので、それをそのまま「f_name」のかわりとして使ってもいいです。

で、下フレームのほうですが、
http://www.noguchi-web.com/minoluta/fukei/fukei-nn.htm
の中では「commentf.htm」だけを呼び出しているようです。なにか変更したのかな?
写真はちゃんと出ているので、上フレームは正解みたいですね。


Nobu3 [URL] [WriteDate : Mon May 21 15:53:52 2001]

ちなみに、
>4.解説ファイルは「地域名kaisetu.htm」とでもしておき、「3」の処理中に下フレームを(やっぱり)「地域名kaisetu.htm#i番号」で呼び出す。
の具体的な処理は、document.write()の後に、
parent.下フレーム.location.href='地域名kaisetu.htm#i番号';
を書く事をイメージしてました。
フレームから呼び出すのも同じと思いますけどね…。


野口  [WriteDate : Mon May 21 18:49:39 2001]

早速ご回答有り難うございます。ややこしいプログラムで申し訳ありません。色々試しています。現状を報告いたします。
関数の「f_name()」は変数名変更で解決しました。有り難うございます。
問題のコメント文のアンカー先へのジャンプですが、まず fukri-nn.htmの方で試してみました。
nwin.document.write("<frameset rows='520,*' frameborder='no' framespacing='' border='0'>");
nwin.document.write("<frame src='fukei_np.htm#"+fname+"' name='phoframe1'>");-----A
nwin.document.write("<frame src='commentf.htm#"+fname+"' name='phoframe2'>");-----B
nwin.document.write("<noframes>");
nwin.document.write("<body onload='****();'>");-----------C
Aでは、+fname+は有効ですが、Bでは+fname+認識されていないような気がします。
Bにて'commentf.htm#"+fname+"'の部分を'commentf.htm#003'と変えてみましたが
結果は同じく認識されていないようです。
そこでCにて(window.)parent.phoframe2.location.href='commentf.htm#'+fname;をかんすうにして
****()として入れてみましたが同様に認識されませんでした。
javascriptにて各フレームごとに、アンカー先にジャンプするようにはできないような気がしてきました。

そこで次のファイルにてコントロールできないかと試してみました。
------ fukei_np.htm ------
<SCRIPT language="JavaScript">
<!--

var i=location.hash;
i=i.substr(1,3);

document.write("<img src='./l_photo/fukei"+i+".jpg' border='0' name='photo_0'>");
document.write("</td><td align='center' valign='bottom'>");
document.write("<font color='#cc3300'><b>No."+i+"</b></font>");
parent.phoframe2.location.href='commentf.htm#'+i;---------D
上記のようにDの行を入れてみましたが、うまくいきませんでした。
どうもエラーが発生しているようでした。

ただし、この場合は、右クリックの「最新の情報に更新」にてコメント文も新たになります。
ならばreload???
?????状態です。
お気付きのことがございましたら御教授下さい。


野口  [WriteDate : Mon May 21 18:50:06 2001]

早速ご回答有り難うございます。ややこしいプログラムで申し訳ありません。色々試しています。現状を報告いたします。
関数の「f_name()」は変数名変更で解決しました。有り難うございます。
問題のコメント文のアンカー先へのジャンプですが、まず fukri-nn.htmの方で試してみました。
nwin.document.write("<frameset rows='520,*' frameborder='no' framespacing='' border='0'>");
nwin.document.write("<frame src='fukei_np.htm#"+fname+"' name='phoframe1'>");-----A
nwin.document.write("<frame src='commentf.htm#"+fname+"' name='phoframe2'>");-----B
nwin.document.write("<noframes>");
nwin.document.write("<body onload='****();'>");-----------C
Aでは、+fname+は有効ですが、Bでは+fname+認識されていないような気がします。
Bにて'commentf.htm#"+fname+"'の部分を'commentf.htm#003'と変えてみましたが
結果は同じく認識されていないようです。
そこでCにて(window.)parent.phoframe2.location.href='commentf.htm#'+fname;をかんすうにして
****()として入れてみましたが同様に認識されませんでした。
javascriptにて各フレームごとに、アンカー先にジャンプするようにはできないような気がしてきました。

そこで次のファイルにてコントロールできないかと試してみました。
------ fukei_np.htm ------
<SCRIPT language="JavaScript">
<!--

var i=location.hash;
i=i.substr(1,3);

document.write("<img src='./l_photo/fukei"+i+".jpg' border='0' name='photo_0'>");
document.write("</td><td align='center' valign='bottom'>");
document.write("<font color='#cc3300'><b>No."+i+"</b></font>");
parent.phoframe2.location.href='commentf.htm#'+i;---------D
上記のようにDの行を入れてみましたが、うまくいきませんでした。
どうもエラーが発生しているようでした。

ただし、この場合は、右クリックの「最新の情報に更新」にてコメント文も新たになります。
ならばreload???
?????状態です。
お気付きのことがございましたら御教授下さい。


Nobu3 [URL] [WriteDate : Mon May 21 19:38:46 2001]

うーん。試してないだけに言いにくいですが…。

「commentf.htm」のonloadにlocation.hashを変更するスクリプトではどうでしょう?

<script>
var i=location.hash;
</script>

<body onload="location.hash=i;">
...
</body>


ひよこ [MAIL] [URL] [WriteDate : Tue May 22 02:40:15 2001]

ふと思ったのですが、#以降のパラメーターが認識されないってことでしょうか?

以前サンプル作ったときには、replaceで#を書き換えて処理しました。
ちょっと変かも知れませんが、参考になるのであればまだ残してますので。(違ってたらごめんなさい)
(A)2、3、4です。
http://members.jcom.home.ne.jp/1633348312/


野口  [WriteDate : Tue May 22 09:55:06 2001]

Nobu3さん、ひよこさん有り難うございます。

まず、「commentf.htm」にて<body onload="location.hash=i;"> を試してみましたがうまくいきませんでした。
しかし「i」の情報は持ち込まれていました。
document.write(i);とすると情報が表示されています。
邪道かもしれませんが下記のようにしてみました。
a1 = "1です";
a2 = "2です";
if(i == 1){af = a1;}
if(i == 2){af = a2;}
document.write(af);
ディメンジョンを設定して、if文を1行にすればなんとかなるかもしれません。
原因は、私の基本的な知識の不足と思います。勉強します。
Nobu3さん、ひよこさんのサイトは大変勉強になりました。
忘れるところでした
もちろん当サイトも大変勉強になります。
有り難うございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]
ChaichanPAPA's World