最近のHTMLでは、Framesetを使って枠の分割をしないと思う。
一つのHTMLで、DIVによって、左右を分割するのが多い。
で、その理由なんだけど、「frameにすると、面倒くさいことがおこる」
といわれていて、何のことかわかんなかったけど、確かにそうだね!
と思った例があったので、メモメモ・・・
■お題
Framesetで2つに割ったウィンドウにおいて、
右側の枠のボタンがクリックされたら、
いっせいに半調にしたい。
■ためしにやってみると・・・
フレーム全体を、こんな風にわっておく
そして、左側のb.htmlは、こんなかんじ
右側のほうのa.htmlは、こんなかんじ
この状態で、ページを開くと、
![](https://blogimg.goo.ne.jp/user_image/4a/f0/d94c64fe8fe769f1c36247a5399faf7c.jpg)
となる。で、ボタンをクリックすると
![](https://blogimg.goo.ne.jp/user_image/6f/50/553bb414b24ac051688c9d27af4cfc49.jpg)
となり、境界線がのこる。
境界線の指定は、
境界線の色を指定する
http://www.tagindex.com/html_tag/frame/frameset_bordercolor.html
にあるように、framesetで設定できるが、なぜか、これを
ボタンがおされたときに、function setcol()のなかで
document.getElementById("myframe").style.border=100;
document.getElementById("myframe").style.borderColor ="black";
とかしても、その指定がきかない
(setcolが入っているのは、alertが出るので判る)
framesetを変える指定や、なんか一発でやる指定とかもあるのかもしれないけど、
それよりも、framesetで枠を割らないで、divでやって1つのhtmlファイルに
したほうが、作りやすいことは確かだ。
一つのHTMLで、DIVによって、左右を分割するのが多い。
で、その理由なんだけど、「frameにすると、面倒くさいことがおこる」
といわれていて、何のことかわかんなかったけど、確かにそうだね!
と思った例があったので、メモメモ・・・
■お題
Framesetで2つに割ったウィンドウにおいて、
右側の枠のボタンがクリックされたら、
いっせいに半調にしたい。
■ためしにやってみると・・・
フレーム全体を、こんな風にわっておく
<!doctype html> <html> <head> <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/themes/base/jquery-ui.css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script> <script> function setcol() { alert("あとで、説明する"); } </script> </head> <frameset id=myframe cols="150,*"> <frame src="b.html" name="hidari"> <frame src="a.html" name="migi"> <noframes> このページはフレームを使用しています。 </noframes> </frameset> </html> |
そして、左側のb.htmlは、こんなかんじ
|
右側のほうのa.htmlは、こんなかんじ
|
この状態で、ページを開くと、
![](https://blogimg.goo.ne.jp/user_image/4a/f0/d94c64fe8fe769f1c36247a5399faf7c.jpg)
となる。で、ボタンをクリックすると
![](https://blogimg.goo.ne.jp/user_image/6f/50/553bb414b24ac051688c9d27af4cfc49.jpg)
となり、境界線がのこる。
境界線の指定は、
境界線の色を指定する
http://www.tagindex.com/html_tag/frame/frameset_bordercolor.html
にあるように、framesetで設定できるが、なぜか、これを
ボタンがおされたときに、function setcol()のなかで
document.getElementById("myframe").style.border=100;
document.getElementById("myframe").style.borderColor ="black";
とかしても、その指定がきかない
(setcolが入っているのは、alertが出るので判る)
framesetを変える指定や、なんか一発でやる指定とかもあるのかもしれないけど、
それよりも、framesetで枠を割らないで、divでやって1つのhtmlファイルに
したほうが、作りやすいことは確かだ。