• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:"rows", "*,100%"って何の記述?)

"rows", "*,100%"って何の記述?

このQ&Aのポイント
  • あるサンプルjavascriptを見ていて何をしているのかよく分からなかった箇所について教えてほしいと思います。
  • 親画面→子画面を呼び出して、子画面のボタンを押下すると親画面のメインフレームを更新します。
  • opener.parament.document.all.tags("frameset")[cnt-1].setAttribute("rows", "*,100%")という記述は、親画面の一番下のフレームの幅を変更するためのものです。具体的には、フレームの幅を"*,100%"の比率で設定していますが、具体的な画面構成や値の変更によってどのような結果が得られるかはわかりません。詳しい情報を提供できる方がいれば、教えていただけるとありがたいです。

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

  • ベストアンサー
  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.1

cntはフレームの数ではなくframeset数じゃないかなと思いますが・・・ framesetというのは、各フレームを包括するタグです。 <frameset> <frame src="frame1.html" name="frame1"> <frame src="frame2.html" name="frame2"> </frameset> やじるしこんな感じですね。 つまり、opener.parament.document.all.tags("frameset")[cnt-1]は 開いたページの中にある最期のフレームセットではないかなと推測します。 [cnt-1]はインデックス番号です。インデックスは0からカウントされるので、HTML上一番最後に出現するframesetのインデックス番号は[framesetの数-1]になるわけです。 で、本題の.setAttribute("rows", "*,100%")についてですが、要はこのframeset[cnt-1]の属性「rows」に「*,100%」を設定するという意味です。 つまりこれがセットされたタグを書いてみると、上記のタグが <frameset rows="*,100%"> <frame src="frame1.html" name="frame1"> <frame src="frame2.html" name="frame2"> </frameset> と言うことです。 こう書いた場合、frame1とframe2は縦並びになり、1段目のframe1の高さは余った高さ分になり、frame2の高さは100%になることになります。これはframesetの基本的なHTMLの記述方法なのでHTMLのリファレンスなど見ればすぐに分かると思います。 ご参考まで。

_alias_
質問者

お礼

お返事遅れてすみません。 なるほどフレームの数ではないのですね。とてもよくわかりました。 有難うございました。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

「*」はブラウザに計算させるような意味合いで、ウィンドウサイズと指定したサイズから決まってくる(残りの)サイズなどになります。 ご質問の例の場合は、rows属性の値を "*,100%" にしています。 詳しくは↓を  http://w3g.jp/xhtml/dic/frameset

_alias_
質問者

お礼

お返事遅れてすみません。 お答え有難うございます。サイトもあわせてみてみます。

関連するQ&A

専門家に質問してみよう