• 締切済み

表示されているtd幅を変えたい。

width=100のテーブルでtd width=50 が2つ作ってあります。 これをボタンを押すとtd width=40 width=60とかに、表示した後にセルの幅を変えたいのですが、できないでしょうか? よろしくお願いします。 ※IE専用でもかまいません。

みんなの回答

  • Masazo-
  • ベストアンサー率48% (12/25)
回答No.3

=========================================================== <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のみです。) ものすごく適当ですみません。

回答No.2

 まず、CGIでページを作成すれば簡単にできます。しかし、これはCGIというもの自体が知らない人には厄介です。  次にJavaScriptを使う方法ですが、命令としてはそういったことはできません。背景を変える、などは可能ですが。  よって、その場合は次のようにすることで一応実現できます。  まず、width=50が2つのページを普通に作ります。  別に40と60のページを作ります。つまり、それ以外は上と同じです。  最初に前者のページを表示し、ボタンを押したら後者のページへ飛びます。  後者のページにも前者へ飛ぶためのボタンを作れば、事実上セルの表示幅だけが変わっているように見えます。  基本的に、CGIかSSIを利用しないとデータは記録できません。  またJavaScriptによって、なさりたいような効果を素直に表現することは無理だと思います。  ダイナミックhtmlというものだったら可能かも知れませんが、それは専門外なので・・・(汗)。

  • shigatsu
  • ベストアンサー率26% (511/1924)
回答No.1

HTMLが動的に作成されるような仕組みになっていれば可能でしょう。 例えばJavaScriptやCGIなどを使えばIE専用でなくても可能だと思います。 幅を変数として持っていれば、その変数の値を変更してリロードすればいけると思います。

関連するQ&A