以下のコードを使用して、divを画面から部分的に切り替え、画面に完全に戻します。このコードは、「サイドバー」がオフスクリーンからどれだけ離れて移動するかを示します。しかし、私の場合、サイドバーの幅に適用されるメディアクエリのために、この機能に問題があります。したがって、サイドバーがどのくらい移動するかを記述しないようにするコードが必要ですが、画面上に表示されるサイドバーの量はピクセル単位で表示されます。 The demo here(メディア照会あり)。divの表示/非表示を切り替える
$(document).ready(function() {
$("#toggle").click(function() {
if($(this).hasClass('active')){
$(this).removeClass('active');
$("#sidebar").animate({
left: '0%'
});
} else {
$(this).addClass('active');
$("#sidebar").animate({
left: '-55%'
});
}
});
});
ファンタスティック!ありがとうございました!!もう1つの質問を追加できますか?サイドバーを画面の左に40 pxまでトグルした後、ブラウザウィンドウを大きくまたは小さくすると、メディアクエリのためにサイドバーの変更のために画面に残ったピクセル数が減少します。サイドバーの折りたたまれた状態で、画面に40ピクセルで保持する方法はありますか? Fiddling here:http://jsfiddle.net/100pvu95/17/拡張された状態では、その幅はウィンドウのサイズによって変わる必要があります。 – Eddy
非表示にするelse文では、サイドバーの幅を固定値に設定してから、ifでサイズ変更可能に戻してみてください。それは隠されても固定されたままです。それはハックのビットですが。 http://jsfiddle.net/100pvu95/18/私はこの例で500を書いていますが、あなたはそれが何であるべきかを理解することができます。 – AgataB
もう一度ありがとう!近いが、それほどではない。はい、折り畳まれた状態では、サイドバーはウィンドウを拡大/縮小するときに同じ量を表示します。すばらしいです!しかし、サイドバーを再び拡大すると、適切なメディアクエリー内で設定された幅に戻ることはありませんが、ウィンドウの100%になります。 – Eddy