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

左にメニュー、右にメインと2つのフレームに分かれた
ページを作成しています。フレーム幅は可変になっています。
メニューの1つをクリックすると右のメインフレームは切り替わらず
左のメニューのフレームが切り替わり、1つ下層のサブメニューを表示させています。

メインメニューからサブメニューにジャンプしたとき、
左フレームの幅を自動的に広げたいのですが、方法はあるでしょうか。
それとも全体のフレームセットを切り替えるしかないでしょうか。

よろしくお願いします。

A 回答 (3件)

IE限定でよろしければ、次のようなこともできますよ。


ちゃんと設計しないと、わやくちゃになりますが。
IE6で確認。NN6、Operaでは動作せず。
あるプロダクトでは、これを利用して、wait画面を
実現しておりました。

-----------------------------
main.htm
<html>
<head><title></title></head>
<frameset cols="50%,*" name="fr">
<frame name="left" src="l.htm" scrolling="auto" target="main">
<frame name="right" src="http://www.yahoo.co.jp" scrolling="auto">
</frameset>
</html>

-----------------------------
l.htm
<html>
<head><title></title>
<script>
function wide()
{
var fs = parent.parent.window.document.all["fr"];
fs.cols = "80%,*";
}
function narrow()
{
var fs = parent.parent.window.document.all["fr"];
fs.cols = "10%,*";
}
</script>
</head>
<body><form>
<input type="button" value="こちらを広く" onClick="wide()"><br>
<input type="button" value="こちらを狭く" onClick="narrow()">
</form></body></html>
    • good
    • 0

フレームページからフレームページへのジャンプと言う手はどうですか?


これならどんなフレーム対応ブラウザでも出来そうな気がするんですけど・・・。
    • good
    • 0

ジャンプ時にフレームの幅を変える。

ということは少なくともHTMLの領域では無理だと思います。方法があるとすれば、

まず、サブメニューが左にくるフレームを作ります。
(ファイル仮名:sub_menu.html)
そして、最初のメニューからジャンプする際のターゲット指定を TARGET="_top" とすると、
例:<A HREF="sub_menu.html" TARGET="_top">
左右分けのフレームが解除されつつ、sub_menu.htmlにジャンプするので、あたかもフレームの幅が変わったかのように見せることができます。
ちなみにTARGET="_top"というのはフレームを解除して画面いっぱいにページを表示させるターゲット指定です。(<A HREF="" TARGET="_top">←こんな感じで利用します。)他にも
<A HREF="" TARGET="_blank">(新しい別窓が開きます)
などいろいろあるので使い分けるとHPがより見やすくなると思います。
説明不十分かもしれないのでわからないところは聞いてくださいね。
    • good
    • 0

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