- 締切済み
表示されているtd幅を変えたい。
width=100のテーブルでtd width=50 が2つ作ってあります。 これをボタンを押すとtd width=40 width=60とかに、表示した後にセルの幅を変えたいのですが、できないでしょうか? よろしくお願いします。 ※IE専用でもかまいません。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Masazo-
- ベストアンサー率48% (12/25)
=========================================================== <INPUT type=text name=txtSize size=4 value=200> <INPUT type="button" value="変更1" onclick="ChangeSize1();"> <INPUT type="button" value="変更2" onclick="ChangeSize2(txtSize.value);"> <TABLE width="400px" border="1"> <TR> <TD ID="tdLeft"width="100px" >aaa</TD> <TD ID="tdRight">bbb</TD> </TR> </TABLE> <SCRIPT language="JavaScript"> function ChangeSize1(){ tdLeft.width = txtSize.value; } function ChangeSize2(aSize){ tdLeft.width = aSize; } </SCRIPT> =========================================================== こういうことですか? 「変更1」と「変更2」は微妙に異なる作りです。用途に合わせてください。 (とりあえずIEのみです。) ものすごく適当ですみません。
- Yuya_Tachibana
- ベストアンサー率40% (2/5)
まず、CGIでページを作成すれば簡単にできます。しかし、これはCGIというもの自体が知らない人には厄介です。 次にJavaScriptを使う方法ですが、命令としてはそういったことはできません。背景を変える、などは可能ですが。 よって、その場合は次のようにすることで一応実現できます。 まず、width=50が2つのページを普通に作ります。 別に40と60のページを作ります。つまり、それ以外は上と同じです。 最初に前者のページを表示し、ボタンを押したら後者のページへ飛びます。 後者のページにも前者へ飛ぶためのボタンを作れば、事実上セルの表示幅だけが変わっているように見えます。 基本的に、CGIかSSIを利用しないとデータは記録できません。 またJavaScriptによって、なさりたいような効果を素直に表現することは無理だと思います。 ダイナミックhtmlというものだったら可能かも知れませんが、それは専門外なので・・・(汗)。
- shigatsu
- ベストアンサー率26% (511/1924)
HTMLが動的に作成されるような仕組みになっていれば可能でしょう。 例えばJavaScriptやCGIなどを使えばIE専用でなくても可能だと思います。 幅を変数として持っていれば、その変数の値を変更してリロードすればいけると思います。