初めて自分の家と他人の家が違う、と意識した時

width=100のテーブルでtd width=50 が2つ作ってあります。

これをボタンを押すとtd width=40 width=60とかに、表示した後にセルの幅を変えたいのですが、できないでしょうか?

よろしくお願いします。
※IE専用でもかまいません。

A 回答 (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のみです。)

ものすごく適当ですみません。
    • good
    • 0

 まず、CGIでページを作成すれば簡単にできます。

しかし、これはCGIというもの自体が知らない人には厄介です。
 次にJavaScriptを使う方法ですが、命令としてはそういったことはできません。背景を変える、などは可能ですが。
 よって、その場合は次のようにすることで一応実現できます。

 まず、width=50が2つのページを普通に作ります。
 別に40と60のページを作ります。つまり、それ以外は上と同じです。
 最初に前者のページを表示し、ボタンを押したら後者のページへ飛びます。
 後者のページにも前者へ飛ぶためのボタンを作れば、事実上セルの表示幅だけが変わっているように見えます。

 基本的に、CGIかSSIを利用しないとデータは記録できません。
 またJavaScriptによって、なさりたいような効果を素直に表現することは無理だと思います。
 ダイナミックhtmlというものだったら可能かも知れませんが、それは専門外なので・・・(汗)。
    • good
    • 0

HTMLが動的に作成されるような仕組みになっていれば可能でしょう。


例えばJavaScriptやCGIなどを使えばIE専用でなくても可能だと思います。

幅を変数として持っていれば、その変数の値を変更してリロードすればいけると思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報