web-dev-qa-db-ja.com

1つのdivを表示し、別のdivを非表示にします

2つのdivタグがあります。1つは検索用で、もう1つは結果用です。必要なのは、送信ボタンがクリックされたときに結果が返され、(iframeを使用して)結果divに配置され、検索divが非表示になり、結果divが表示されるようになることです。

検索divは最初に可視に設定され(可視性を使用して可視)、結果divは初期に非表示に設定されます(可視性を非表示に使用)。

また、最初は非表示のdivがあるページの下部に大きな空白があるので、下部にも余分な空白がないことを確認するにはどうすればよいですか。

22
mattgcon

可視性で非表示にすると、スペースを使い果たします。むしろ、表示をnoneに設定して非表示にしてから、表示をブロックして表示できるようにしてください。

19
My Other Me

スタイルの表示プロパティを使用できます。結果セクションのスタイルを次のように初期設定します

style = "display:none"

Divは表示されなくなり、空白もなくなります。

検索結果が表示されたら、Javaスクリプトを使用して表示プロパティを変更します

document.getElementById("someObj").style.display = "block"

Javaスクリプトを使用すると、divを非表示にすることができます

document.getElementById("someObj").style.display = "none"
31
Sujith

本当にiframeが欲しいとは思いませんか?

変なことをしているのでなければ、結果をJSONまたは(最悪の場合)XMLとして返す必要がありますよね?

ホワイトボックス/余分なスペースの問題については、試してください

style="display: none;"

の代わりに

style="visibility: hidden;"
9
CoolAJ86

Display = blockを使用する場合は、コンテンツリーダーをジャンプさせます。したがって、displayを使用する代わりに、表示するhtmlページに存在しないが実際にはleft属性を負の値に設定できます。

私があなたにメッセージを送ることができることを理解させることができないなら、あなたが私のポイントを理解していることを願っています。

0
Prateek