- 締切済み
左右に並べたオブジェクトの表示非表示を行いたい
上下に並べたボタンとテキスト入力欄の表示非表示は、INPUTオブジェクトのプロパティー、「style="display:none(block)」をJavaScriptで操作することによって可能だと思うのですが、「style」プロパティーの設定を行うと、上下にボタン、テキスト入力欄が表示されてしまいます。オブジェクトを左右に表示して、表示非表示をきる替えることはできないでしょうか?よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Kuppycat
- ベストアンサー率50% (109/216)
回答No.2
display:none ではなく visibility: hidden にしてはいかがでしょう? これなら領域は確保されたままなので、その部分が空白になりますがレイアウトは崩れません。
- LancerVII
- ベストアンサー率51% (1060/2054)
回答No.1
こんにちは。 多分、JavaScriptの問題ではなく、レイアウト方法だと思います。 border0のテーブルを利用して、左右にボタンとテキストフィールドを 並べてはいかがでしょうか? <table cellspacing="0" cellpadding="2" border="0"> <tr> <td><input type="text"></td> <td><input type="button"></td> </tr> </table> サイズ等は調節して下さい。
質問者
補足
回答ありがとうございます。補足ですが、INPUTオブジェクトにstyleプロパティーを設定しない場合は問題ないのですが、「style="display:none(block)」を付けると上下に表示されてしまいます。「display」の記述が問題だというのはわかっているのですが、何か対策は無いでしょうか、よろしくお願いします。
補足
回答ありがとうございます。質問の記述にもれていましたが、表示するオブジェクトは表示非表示と切り替えるとともに、ボタン→テキスト、プルダウン→ボタンと複雑に変わっています。というわけで、複数のタイプのオブジェクトを網羅的に並べておき、必要なものが表示されるようJavaScriptで制御しようと思っています。しかも、、横に2つ並べるだけでなく、4つ、5つと並べる場合もあります。なのでパターン化してDIVでくくっておくのも難しいのです。よろしくお願いします。