私はmeagarに同意します(あなたのコメントに回答をして受け入れられるようにしてください)。しかし、overlay divが常に存在する(ただし隠れている)ようにしたい場合は、その代わりに、その場で:
$('#search').ajaxStart(function() {
$('#content').wrap('<div class="overlay" />');
});
(#content
はあなたのコンテンツラッパーと.overlay
は私が私のために選択することが起こった名前です呼び出すために起こるものは何でも表し、簡単に変更!)
たびAjaxの完全なコールバック火災(これはまた、.hide()
がmeagarのsu ggestion)、これをもう一度これを使ってラップ解除してください:
$('#content').unwrap();
残りはCSSです。
.overlay {
position: relative;
height: 100%;
width: 100%;
background-color: rgba(0,0,0,0.7);
}
注意してください...これは実際にあなたのページにあるものに応じて、正しいCSSアプローチではないかもしれません。基本的な考え方は、あなたのコンテンツ領域だけに広がってほしいということですが、トラップがあります!浮動小数点、いくつかのものの絶対的な位置付け...すべてはあなたのオーバーレイがコンテンツエリアだけをカバーしないように努力します。あなたがその問題に遭遇した場合、それは別のSOの質問です。 ;-)
JSFiddle:http://jsfiddle.net/Ff5wV/
は、ページのレイアウト方法に完全に依存しますが、基本的にはあなたはそれが上方に位置する、あなたの基準(半透明を満たしていることとなるよう、文書にスタイルをdiv要素を追加したいです内容はナビゲーションバーの下に表示されます)、条件付きで表示/非表示にします。投稿されたコードに欠けている行は '$( '#my-div')です。show()'。残りはCSSです。 – meagar