• ベストアンサー

フレームの幅を変更したい

左にメニュー、右にメインと2つのフレームに分かれた ページを作成しています。フレーム幅は可変になっています。 メニューの1つをクリックすると右のメインフレームは切り替わらず 左のメニューのフレームが切り替わり、1つ下層のサブメニューを表示させています。 メインメニューからサブメニューにジャンプしたとき、 左フレームの幅を自動的に広げたいのですが、方法はあるでしょうか。 それとも全体のフレームセットを切り替えるしかないでしょうか。 よろしくお願いします。

  • HTML
  • 回答数3
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • tenro-
  • ベストアンサー率32% (23/70)
回答No.2

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>

その他の回答 (2)

回答No.3

フレームページからフレームページへのジャンプと言う手はどうですか? これならどんなフレーム対応ブラウザでも出来そうな気がするんですけど・・・。

noname#2605
noname#2605
回答No.1

ジャンプ時にフレームの幅を変える。ということは少なくとも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がより見やすくなると思います。 説明不十分かもしれないのでわからないところは聞いてくださいね。

関連するQ&A

  • メインフレームの中に入れ子でフレームページ

    メニューをクリックするとメインフレームの中に、更にフレームのページを入れるような場合、 最初のメインメニューでクリックした時は、中に入れ子のように上手く表示されてるのですが その入れ子の中のフレームの左のメニューをクリックすると 二つメインフレームが存在してしまうせいか、入れ子の中のメインではなく TOPのメインフレームに覆いかぶさるように用事されてしまい 入れ子の中のメニューが無くなってしまい困っています。 ※入れ子の中でparentのように表示されてしまいます。 TOPのフレーム(右メインメニューフレームとメインフレーム)表示も残しつつ、 入れ子の中の(右サブメニューとメインフレーム)表示も残すのはどうしたらできるのでしょうか? 教えてくださいm(__)m

  • 左右のフレームの表示変更(リンク設定)はどうやって?

    フレームを3分割にしているのですが、 左がメニューで、右がメインです。 左のメニューの一部をクリックすると、その一部がツリー形式に表示され、右のメインも表示が変わるのってどうすればできますか? 例えば左の「関東」をクリックすると右に関東のメインは表示(リンク設定)はできるのですが、 同時に左のメニューも 関東  東京  神奈川  千葉  埼玉・・・ というようにしたいのですけど、どうしたらできますか?

  • lightboxとDreamweaverのフレームに関して

    宜しくお願い致します。 DreamweaverCS3にてHPを作っております。 上フレーム、左フレーム、メインフレームの構成なのですが、 メインフレームにてlightboxを使用し、画像を閲覧出来る様にしております。 ただ、その時に、lightboxがメインフレーム内でしか広がらないため、 デザイン的に好ましく有りません。 メインフレーム内でサムネイルをクリックした時に、上、左フレームを無視し、ウィンドウ全体にlightboxを広げる様には出来ますでしょうか。 ご存知の方いらっしゃいましたらアドバイス、お願い致します。

  • ウインドウ幅を狭めるとボックスが下に飛んでいきます

    cssを使ってdivでテーブルのようなレイアウトにしています。 サイト全体の設定は、左から「メニュー」「メイン」「右サイドバー」といった感じで、メインの部分にdivでボックスを作ってます。 メニューは固定でメインとサイドバーは可変にしているのですが、ブラウザのウインドウ幅を左右に狭めると、floatで左右にくっつけたボックスがバラバラになったり、下へ飛んでいったりしてしまいます。 テキストの場合は可変してもいいのですが、ボックスやテーブルは動いてほしくありません。 常に前面に固定されて表示されるような方法はあるのでしょうか?

    • ベストアンサー
    • HTML
  • 上と左にフレームわけされているメニューボタン画像の切り替えについて

    フレームをまたいだメニューボタンの動作で困っています。 現在作成しているページは、3フレームにわかれていて、 上と左フレームにメニューがあり、右側にメインフレームという構成です。 上と左にあるメニューボタンをクリックすると、 メインフレームに該当htmlが表示されるタイプです。 それぞれのメニューボタンはGIFで作っていて、 OFFの状態とONの状態の2種類を用意しています。 メニューボタンをクリックすると、 メインフレームに該当htmlが表示され、 クリックしたメニューボタンのGIFがONの状態になり、 その他のメニューボタンはOFFの状態になる、 というものが作りたいのですが、 左フレームは左フレームだけならうまくいくのですが、 上フレームのメニューと左フレームのメニューの連携がうまくいきません。 (例えば、左フレームのあるメニューボタンをクリックしたら、 上フレームのメニューもOFFの状態に戻したいんです。) もし何か解決策をご存知の方がいらっしゃいまいしたら、 どうかご教授ください。 よろしくお願いいたします。

  • 左右のフレームを同時に切り替えたい

    2画面を使ったフレームのHPを作成しているのですが、 クリックしたら、左右同時に切り替わるリンクの仕方が分かりません。 どうのようにすればいいのでしょうか? ・リンクのスタート地点は<左フレーム>、niji.html ・リンク先は、左は、menu.html、右はtop.htmlへと、同時にジャンプ。 ・画像を使ってリンクしたい。画像名は、momo.gif 左のフレーム内の画像をクリックしたら、左は、menu.html  右は、top.htmlと、切り替えたいという事です。

    • ベストアンサー
    • HTML
  • フレームで

    いくつか聞きたいことがあります。 まず、現在左と右にページをフレームでわけ、左がメニュー、右がメインページとなっています。 (1)それで、フレームページにしたときのデメリットっ て何なのでしょうか。 (2)タグでもJavaScriptでもDHTMLでもいいので、それを 使ってフレームなしのページから、フレームありの ページにいき、なおかつ、その左と右の内容を指定  する方法ってあるでしょうか。あったら教えてくだ さい。 (3)インラインフレームとして、ひとつひとつ一回一回 左のメニューを読み込むことも考えていますが、そ の時にはやはりページを開くときに重いと感じるよ うになるでしょうか。また、インラインフレームに したら記述が面倒くさくなったりしますか?

    • ベストアンサー
    • HTML
  • フレーム内から開いたサブウィンドウから親ウィンドウの別フレームの操作を行いたい

    メニュー、メインの2つのフレーム分けしてあるページで、メインページからサブウィンドウを開きます。 その後、以下の2アクションを同時に行いたいのです。 (1)サブウィンドウから親ウィンドウ(メイン)をジャンプさせる (main.html→main2.cgi) (2)親ウィンドウ(メニュー)の画像をAからBに変更させる 現在window.openerでメインページの変更はできているのですが、 メニューページの画像のを変更がうまくできません。 方法としては (1)サブから親ウィンドウ(画像=A)を閉じさせて、再び親ウィンドウ(画像=B)を フレームセットごとムリヤリ開き直す。 (2)何らかの形でメニューページの情報を保存しておき、Onloadでサブからのジャンプ時に変更させる (3)サブから親ウィンドウのフレーム越し操作を行なって、メニューページの画像を変更する。 どの方法が可能でしょうか、もっといい方法がありますか。 お知恵拝借させてください。よろしくお願いします。 以下、かなり省略したソース説明です。 【フレームセット→cgi。記述は省略】 <frameset>  <frame src="menu.html" name="menu">  <frame src="main.html" name="main"> </frameset> 【メニュー→html】 <img src="A"> 【メイン→html】 function open_sub(url) { /**/ w = window.open(url, 'sub') } <!--本文--> <a href="javascript:open_sub('sub.html')">サブウィンドウ</a> 【サブ→html】 function change_main() { window.opener.location.href="main2.cgi?sub"; window.opener.focus(); } <!--本文--> <A HREF="JavaScript:change_main()">メインを変更</A>

  • 同時に2箇所にリンクは可能?

    いつもお世話になっております。 カテ違いだったらごめんなさい。 たとえば、フレームページで 左がメニュー。右がメイン。という場合 左のメニューの中の画像ボタンをクリックすると、 左のメニューのデザインが変わり、右のメインも変わり。 というふうに、ワンクリックで2ヶ所のリンクに同時にジャンプすることはできるのでしょうか。 よろしくお願いします。

  • フレームの自動リンクについて

    フレームの自動リンクについて フレームのホームページを作っています。 フレームは、メニューのtop.htmlとtop2.htmlがあり、全体をindex.htmlで表示しています。 この場合、top2.htmlにアクセスしたときにフレームが表示されないので、1秒後に自動ジャンプを使おうと思いましたが自動ジャンプをしてしまうと、フレームが表示されているときでもジャンプしてしまいます。 今いるアドレスを識別し、index.htmlにいるときはジャンプせず、top2.htmlにいるときはジャンプするのは、どのようにすればよいのでしょうか?

    • ベストアンサー
    • HTML

専門家に質問してみよう