jQueryで要素を非表示にできる方法はありますが、非表示の場合はDOMを変更できませんか?特定の要素を非表示にしていますが、非表示にすると、その下の要素が上に移動します。それが起こらないようにしたい。スペースはそのままにしておきたいが、要素は自由に表示/非表示にしたい。
できますか?
jQueryで要素を非表示にできる方法はありますが、非表示の場合はDOMを変更できませんか?特定の要素を非表示にしていますが、非表示にすると、その下の要素が上に移動します。それが起こらないようにしたい。スペースはそのままにしておきたいが、要素は自由に表示/非表示にしたい。
できますか?
回答:
の代わりにhide()
、次を使用します。
css('visibility','hidden')
hide()
display
スタイルをnone
に設定します。これにより、要素がドキュメントフローから完全に削除され、スペースを占有しなくなります。
visibility:hidden
スペースをそのまま保ちます。
css('visibility','visible')
css('visibility', '')
別の回答では、jQuery fadeTo
はdisplay:none
完了時に設定されないfadeOut
ため、たとえば以下を使用するのではなく、ここで解決策を提供することもあります。
トリックopacity: 0
を見る前に以前使用しましたvisibility: hidden
。
ただし、多くの場合、要素を表示することはできませんが、要素を操作できるopacity: 0
ため、問題が発生します。(DeadPassiveが指摘したように。)
通常それはあなたが望むものではありません。しかし、たぶん時々あなたはそうするかもしれませんか?