プロが教えるわが家の防犯対策術!

ページの中盤にインラインフレームを入れ、フレーム内のページにリンクで内容が変わるようにしているのですが、リンクを押すたびにフレームが画面の一番上に上がってしまいます。
同じ位置でページだけ変わる方法はありませんか?

A 回答 (2件)

ブラウザの仕様(ブラウザごとに動作が違うもの)なので、HTMLではどうしようもありません。


SafariやiCabはスクロールしません。
(今試してみると、Win Safari3はスクロールするようです。ほかのブラウザの動作にあわせたようですね。)

JavaScriptを使えばスクロールさせないようにできると思います。
<a href="" onclick="Jump(this);return false;">のような感じで書いて、
アンカーの位置を取得し、フレームの中だけスクロール(scrollTo())させるだけでいいと思います。

ほかにはAjaxにするとか、
表示しているのは画像だけ見たいですし、画像を切り替えるだけでもいいと思いますけどね。
ただし、完全に作り直しになります。

JavaScriptがわからなければ、製作会社などに依頼して下さい。
    • good
    • 0

リンクを押したときに表示したい所にアンカーで名前を付けて飛ばしてみてはいかがでしょう。



例)
フレーム内のページのポイントとなるところに名前をつけておきます。
<a name="1">1</a>
1111111111111111111

<a name="2">2</a>
2222222222222222222

<a name="3">3</a>
3333333333333333333


リンクを貼るときに<a href=ページのurl.html#2>とすれば、クリックしたときに<a name="2">2</a>の部分がフレームのトップとして表示されます。
(#名前は英数字以外の文字でもok)

この回答への補足

ごめんなさい、説明が悪かったようです。
親ウインドウが移動するんです。

親ウインドウにあるインラインフレームが、今回答していただいた名前をつけているような感じに一番上に移動するんです。

こんな状況です。
http://www.nagomicushion.net/MAGCUP.html

補足日時:2008/01/23 16:15
    • good
    • 0

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