dポイントプレゼントキャンペーン実施中!

仕事でHTMLを製作しております。
環境はウインドウズXPSP2です。

HTMLの構造は
親ページ、A.htmlに、
子ページ、B.htmlが
<iframe name=001 src="B.html" frameborder=0 width=200 scrolling=auto height=1000></iframe>
に表示されているというものです。

A.htmlに項目がずらっと並んでいて、
それにリンクが張ってあり、それらをクリックすると
表示されているB.htmlの指定箇所を表示するというものです。
現在、A.htmlのリンクは、
<a href="B.html#01">1</a>
<a href="B.html#02">2</a>
<a href="B.html#03">3</a>となっており、
B.htmlには、
<a name="01"></a>
<a name="02"></a>
<a name="03"></a>
となる、アンカーリンクが張ってあります。
これで、動きは完動するのですが、
<iframe name=001 src="B.html" frameborder=0 width=200 scrolling=auto height=1000></iframe>
とあるように、表示されている縦が1000と、デザイン上すごく長くて、ふつうのPCでは表示し切れていません。現状この状況でアンカーリンクをクリックすると、通常動作と同時に親ページ、A.htmlの表示がページの一番下にスクロールしてしまいます。
A.htmlにある項目がデザイン上、上方にあるので、
他の項目を見るたびにA.htmlを上までスクロールしなければいけないのです。
アンカータグであるという原因はわかっているのですが、対処の仕方に悩んでいます。

わかりずらい状況かもしれませんが、
ご教授よろしくお願い致します。

A 回答 (2件)

<a href="B.html#01">1</a>は<a href="B.html#01" target="001">1</a>にしてますよね?



>通常動作と同時に親ページ、A.htmlの表示がページの一番下にスクロールしてしまいます。
が良くわからないのですが、テストしてみた所"A.htmlの表示がページの一番下にスクロール"にはなりませんでした。A.htmlのソースを乗せた方が回答しやすいかもしれないです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

わかりずらい質問でした。申し訳ございません。

数日経過して、若干状況が変わりましたので、
もう少し整理して、別の質問として質問させていただきます。

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

お礼日時:2005/06/06 14:38

iframeを使う必要があるのでしょうか。


「height=1000」というのは、フレーム内にスクロールバーが出ないことを意図しているのではないかと思いますが、それでは普通のページと同じです。
下のほうにリンク先があれば、ページはスクロールします。(リンク先を表示領域の一番上に表示しようとするため)

対処法は、iframeの高さを小さくする。
もしくは、インラインフレームではなく、メニューと内容で二分割したフレームにしてはいかがですか。
    • good
    • 0
この回答へのお礼

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

「height=1000」という設定について、フレーム内にスクロールバーが出ないことを意図しているのではなく、膨大な選択肢があるためということがあります。数値についても納品先で使用される画面の解像度が1600*1200ということも考慮して、デザイナーが製作しておりました。故にiframeの高さを小さくすることもできないし、このフレームでの実現性をご質問させていただいたという事なのです。

数日経過して、若干状況が変わりましたので、
もう少し整理して、別の質問として質問させていただきます。

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

お礼日時:2005/06/06 14:36

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